[Kimchi-devel] [PATCH] [Wok] Library files for X-editable plugin
Atreye Mukhopadhyay
atreyee at linux.vnet.ibm.com
Wed Dec 23 04:55:47 UTC 2015
Hi Aline,
Currently we are using ready only grid and in-line cell editing is not
allowed. Using this library we can turn any existing grid data cell to
editable mode and we can enter new value in the same.
New value will be saved to grid data.
For ginger network tab , we need to display the exiting data in grid
format and at the same time we need to have option of editing it. For
serving the purpose we want to use this library.
Sample screenshots below.
On 12/23/2015 1:20 AM, Aline Manera wrote:
>
> Please, add examples on what this library will be able to do for UI
> perspectives.
>
> On 12/22/2015 02:25 PM, atreyee at linux.vnet.ibm.com wrote:
>> From: Atreyee Mukhopadhyay <atreyee at linux.vnet.ibm.com>
>>
>> X-editable library allows in-place editing with Bootstrap.UI grid
>> cell data can be editted using this library.
>> ---
>> configure.ac | 4 +
>> ui/libs/Makefile.am | 2 +-
>> ui/libs/bootstrap-editable/LICENSE | 19 +
>> ui/libs/bootstrap-editable/Makefile.am | 18 +
>> ui/libs/bootstrap-editable/dist/Makefile.am | 18 +
>> ui/libs/bootstrap-editable/dist/css/Makefile.am | 20 +
>> .../dist/css/bootstrap-editable.css | 663
>> +++++++++++++++++++++
>> ui/libs/bootstrap-editable/dist/js/Makefile.am | 20 +
>> .../dist/js/bootstrap-editable.min.js | 7 +
>> ui/pages/wok-ui.html.tmpl | 2 +
>> 10 files changed, 772 insertions(+), 1 deletion(-)
>> create mode 100644 ui/libs/bootstrap-editable/LICENSE
>> create mode 100644 ui/libs/bootstrap-editable/Makefile.am
>> create mode 100644 ui/libs/bootstrap-editable/dist/Makefile.am
>> create mode 100644 ui/libs/bootstrap-editable/dist/css/Makefile.am
>> create mode 100644
>> ui/libs/bootstrap-editable/dist/css/bootstrap-editable.css
>> create mode 100644 ui/libs/bootstrap-editable/dist/js/Makefile.am
>> create mode 100644
>> ui/libs/bootstrap-editable/dist/js/bootstrap-editable.min.js
>>
>> diff --git a/configure.ac b/configure.ac
>> index 1c4420e..b27634a 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -133,6 +133,10 @@ AC_CONFIG_FILES([
>> ui/libs/bootstrap-switch/dist/Makefile
>> ui/libs/bootstrap-switch/dist/js/Makefile
>> ui/libs/bootstrap-switch/dist/css/Makefile
>> + ui/libs/bootstrap-editable/Makefile
>> + ui/libs/bootstrap-editable/dist/Makefile
>> + ui/libs/bootstrap-editable/dist/js/Makefile
>> + ui/libs/bootstrap-editable/dist/css/Makefile
>> ui/libs/es5-shim/Makefile
>> ui/libs/jquery/Makefile
>> ui/libs/jquery-i18n/Makefile
>> diff --git a/ui/libs/Makefile.am b/ui/libs/Makefile.am
>> index 1b3f6f4..5eb624a 100644
>> --- a/ui/libs/Makefile.am
>> +++ b/ui/libs/Makefile.am
>> @@ -17,4 +17,4 @@
>> # See the License for the specific language governing permissions and
>> # limitations under the License.
>>
>> -SUBDIRS = bootstrap jquery jquery-ui bootstrap-select es5-shim
>> jquery-i18n list-js jquery-bootgrid bootstrap-switch
>> +SUBDIRS = bootstrap jquery jquery-ui bootstrap-select es5-shim
>> jquery-i18n list-js jquery-bootgrid bootstrap-switch bootstrap-editable
>> diff --git a/ui/libs/bootstrap-editable/LICENSE
>> b/ui/libs/bootstrap-editable/LICENSE
>> new file mode 100644
>> index 0000000..25ef01c
>> --- /dev/null
>> +++ b/ui/libs/bootstrap-editable/LICENSE
>> @@ -0,0 +1,19 @@
>> +Copyright (c) 2012 Vitaliy Potapov
>> +Permission is hereby granted, free of charge, to any person
>> +obtaining a copy of this software and associated documentation
>> +files (the "Software"), to deal in the Software without
>> +restriction, including without limitation the rights to use,
>> +copy, modify, merge, publish, distribute, sublicense, and/or sell
>> +copies of the Software, and to permit persons to whom the
>> +Software is furnished to do so, subject to the following
>> +conditions:
>> +The above copyright notice and this permission notice shall be
>> +included in all copies or substantial portions of the Software.
>> +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>> +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
>> +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
>> +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
>> +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
>> +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>> +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
>> +OTHER DEALINGS IN THE SOFTWARE.
>> diff --git a/ui/libs/bootstrap-editable/Makefile.am
>> b/ui/libs/bootstrap-editable/Makefile.am
>> new file mode 100644
>> index 0000000..af0ec14
>> --- /dev/null
>> +++ b/ui/libs/bootstrap-editable/Makefile.am
>> @@ -0,0 +1,18 @@
>> +#
>> +# Project Wok
>> +#
>> +# Copyright IBM, Corp. 2015
>> +#
>> +# Licensed under the Apache License, Version 2.0 (the "License");
>> +# you may not use this file except in compliance with the License.
>> +# You may obtain a copy of the License at
>> +#
>> +# http://www.apache.org/licenses/LICENSE-2.0
>> +#
>> +# Unless required by applicable law or agreed to in writing, software
>> +# distributed under the License is distributed on an "AS IS" BASIS,
>> +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>> +# See the License for the specific language governing permissions and
>> +# limitations under the License.
>> +
>> +SUBDIRS = dist
>> diff --git a/ui/libs/bootstrap-editable/dist/Makefile.am
>> b/ui/libs/bootstrap-editable/dist/Makefile.am
>> new file mode 100644
>> index 0000000..1b43864
>> --- /dev/null
>> +++ b/ui/libs/bootstrap-editable/dist/Makefile.am
>> @@ -0,0 +1,18 @@
>> +#
>> +# Project Wok
>> +#
>> +# Copyright IBM, Corp. 2015
>> +#
>> +# Licensed under the Apache License, Version 2.0 (the "License");
>> +# you may not use this file except in compliance with the License.
>> +# You may obtain a copy of the License at
>> +#
>> +# http://www.apache.org/licenses/LICENSE-2.0
>> +#
>> +# Unless required by applicable law or agreed to in writing, software
>> +# distributed under the License is distributed on an "AS IS" BASIS,
>> +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>> +# See the License for the specific language governing permissions and
>> +# limitations under the License.
>> +
>> +SUBDIRS = css js
>> diff --git a/ui/libs/bootstrap-editable/dist/css/Makefile.am
>> b/ui/libs/bootstrap-editable/dist/css/Makefile.am
>> new file mode 100644
>> index 0000000..6816ea9
>> --- /dev/null
>> +++ b/ui/libs/bootstrap-editable/dist/css/Makefile.am
>> @@ -0,0 +1,20 @@
>> +#
>> +# Project Wok
>> +#
>> +# Copyright IBM, Corp. 2015
>> +#
>> +# Licensed under the Apache License, Version 2.0 (the "License");
>> +# you may not use this file except in compliance with the License.
>> +# You may obtain a copy of the License at
>> +#
>> +# http://www.apache.org/licenses/LICENSE-2.0
>> +#
>> +# Unless required by applicable law or agreed to in writing, software
>> +# distributed under the License is distributed on an "AS IS" BASIS,
>> +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>> +# See the License for the specific language governing permissions and
>> +# limitations under the License.
>> +
>> +bootstrapeditablecssdir =
>> $(datadir)/wok/ui/libs/bootstrap-editable/dist/css
>> +
>> +dist_bootstrapeditablecss_DATA = $(wildcard *.css) $(NULL)
>> diff --git
>> a/ui/libs/bootstrap-editable/dist/css/bootstrap-editable.css
>> b/ui/libs/bootstrap-editable/dist/css/bootstrap-editable.css
>> new file mode 100644
>> index 0000000..eaef0de
>> --- /dev/null
>> +++ b/ui/libs/bootstrap-editable/dist/css/bootstrap-editable.css
>> @@ -0,0 +1,663 @@
>> +/*! X-editable - v1.5.1
>> +* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
>> +* http://github.com/vitalets/x-editable
>> +* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
>> +.editableform {
>> + margin-bottom: 0; /* overwrites bootstrap margin */
>> +}
>> +
>> +.editableform .control-group {
>> + margin-bottom: 0; /* overwrites bootstrap margin */
>> + white-space: nowrap; /* prevent wrapping buttons on new line */
>> + line-height: 20px; /* overwriting bootstrap line-height. See
>> #133 */
>> +}
>> +
>> +/*
>> + BS3 width:1005 for inputs breaks editable form in popup
>> + See: https://github.com/vitalets/x-editable/issues/393
>> +*/
>> +.editableform .form-control {
>> + width: auto;
>> +}
>> +
>> +.editable-buttons {
>> + display: inline-block; /* should be inline to take effect of
>> parent's white-space: nowrap */
>> + vertical-align: top;
>> + margin-left: 7px;
>> + /* inline-block emulation for IE7*/
>> + zoom: 1;
>> + *display: inline;
>> +}
>> +
>> +.editable-buttons.editable-buttons-bottom {
>> + display: block;
>> + margin-top: 7px;
>> + margin-left: 0;
>> +}
>> +
>> +.editable-input {
>> + vertical-align: top;
>> + display: inline-block; /* should be inline to take effect of
>> parent's white-space: nowrap */
>> + width: auto; /* bootstrap-responsive has width: 100% that
>> breakes layout */
>> + white-space: normal; /* reset white-space decalred in parent*/
>> + /* display-inline emulation for IE7*/
>> + zoom: 1;
>> + *display: inline;
>> +}
>> +
>> +.editable-buttons .editable-cancel {
>> + margin-left: 7px;
>> +}
>> +
>> +/*for jquery-ui buttons need set height to look more pretty*/
>> +.editable-buttons button.ui-button-icon-only {
>> + height: 24px;
>> + width: 30px;
>> +}
>> +
>> +.editableform-loading {
>> + background: url('../img/loading.gif') center center no-repeat;
>> + height: 25px;
>> + width: auto;
>> + min-width: 25px;
>> +}
>> +
>> +.editable-inline .editableform-loading {
>> + background-position: left 5px;
>> +}
>> +
>> + .editable-error-block {
>> + max-width: 300px;
>> + margin: 5px 0 0 0;
>> + width: auto;
>> + white-space: normal;
>> +}
>> +
>> +/*add padding for jquery ui*/
>> +.editable-error-block.ui-state-error {
>> + padding: 3px;
>> +}
>> +
>> +.editable-error {
>> + color: red;
>> +}
>> +
>> +/* ---- For specific types ---- */
>> +
>> +.editableform .editable-date {
>> + padding: 0;
>> + margin: 0;
>> + float: left;
>> +}
>> +
>> +/* move datepicker icon to center of add-on button. See
>> https://github.com/vitalets/x-editable/issues/183 */
>> +.editable-inline .add-on .icon-th {
>> + margin-top: 3px;
>> + margin-left: 1px;
>> +}
>> +
>> +
>> +/* checklist vertical alignment */
>> +.editable-checklist label input[type="checkbox"],
>> +.editable-checklist label span {
>> + vertical-align: middle;
>> + margin: 0;
>> +}
>> +
>> +.editable-checklist label {
>> + white-space: nowrap;
>> +}
>> +
>> +/* set exact width of textarea to fit buttons toolbar */
>> +.editable-wysihtml5 {
>> + width: 566px;
>> + height: 250px;
>> +}
>> +
>> +/* clear button shown as link in date inputs */
>> +.editable-clear {
>> + clear: both;
>> + font-size: 0.9em;
>> + text-decoration: none;
>> + text-align: right;
>> +}
>> +
>> +/* IOS-style clear button for text inputs */
>> +.editable-clear-x {
>> + background: url('../img/clear.png') center center no-repeat;
>> + display: block;
>> + width: 13px;
>> + height: 13px;
>> + position: absolute;
>> + opacity: 0.6;
>> + z-index: 100;
>> +
>> + top: 50%;
>> + right: 6px;
>> + margin-top: -6px;
>> +
>> +}
>> +
>> +.editable-clear-x:hover {
>> + opacity: 1;
>> +}
>> +
>> +.editable-pre-wrapped {
>> + white-space: pre-wrap;
>> +}
>> +.editable-container.editable-popup {
>> + max-width: none !important; /* without this rule
>> poshytip/tooltip does not stretch */
>> +}
>> +
>> +.editable-container.popover {
>> + width: auto; /* without this rule popover does not stretch */
>> +}
>> +
>> +.editable-container.editable-inline {
>> + display: inline-block;
>> + vertical-align: middle;
>> + width: auto;
>> + /* inline-block emulation for IE7*/
>> + zoom: 1;
>> + *display: inline;
>> +}
>> +
>> +.editable-container.ui-widget {
>> + font-size: inherit; /* jqueryui widget font 1.1em too big,
>> overwrite it */
>> + z-index: 9990; /* should be less than select2 dropdown z-index to
>> close dropdown first when click */
>> +}
>> +.editable-click,
>> +a.editable-click,
>> +a.editable-click:hover {
>> + text-decoration: none;
>> + border-bottom: dashed 1px #0088cc;
>> +}
>> +
>> +.editable-click.editable-disabled,
>> +a.editable-click.editable-disabled,
>> +a.editable-click.editable-disabled:hover {
>> + color: #585858;
>> + cursor: default;
>> + border-bottom: none;
>> +}
>> +
>> +.editable-empty, .editable-empty:hover, .editable-empty:focus{
>> + font-style: italic;
>> + color: #DD1144;
>> + /* border-bottom: none; */
>> + text-decoration: none;
>> +}
>> +
>> +.editable-unsaved {
>> + font-weight: bold;
>> +}
>> +
>> +.editable-unsaved:after {
>> +/* content: '*'*/
>> +}
>> +
>> +.editable-bg-transition {
>> + -webkit-transition: background-color 1400ms ease-out;
>> + -moz-transition: background-color 1400ms ease-out;
>> + -o-transition: background-color 1400ms ease-out;
>> + -ms-transition: background-color 1400ms ease-out;
>> + transition: background-color 1400ms ease-out;
>> +}
>> +
>> +/*see https://github.com/vitalets/x-editable/issues/139 */
>> +.form-horizontal .editable
>> +{
>> + padding-top: 5px;
>> + display:inline-block;
>> +}
>> +
>> +
>> +/*!
>> + * Datepicker for Bootstrap
>> + *
>> + * Copyright 2012 Stefan Petre
>> + * Improvements by Andrew Rowls
>> + * Licensed under the Apache License v2.0
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + */
>> +.datepicker {
>> + padding: 4px;
>> + -webkit-border-radius: 4px;
>> + -moz-border-radius: 4px;
>> + border-radius: 4px;
>> + direction: ltr;
>> + /*.dow {
>> + border-top: 1px solid #ddd !important;
>> + }*/
>> +
>> +}
>> +.datepicker-inline {
>> + width: 220px;
>> +}
>> +.datepicker.datepicker-rtl {
>> + direction: rtl;
>> +}
>> +.datepicker.datepicker-rtl table tr td span {
>> + float: right;
>> +}
>> +.datepicker-dropdown {
>> + top: 0;
>> + left: 0;
>> +}
>> +.datepicker-dropdown:before {
>> + content: '';
>> + display: inline-block;
>> + border-left: 7px solid transparent;
>> + border-right: 7px solid transparent;
>> + border-bottom: 7px solid #ccc;
>> + border-bottom-color: rgba(0, 0, 0, 0.2);
>> + position: absolute;
>> + top: -7px;
>> + left: 6px;
>> +}
>> +.datepicker-dropdown:after {
>> + content: '';
>> + display: inline-block;
>> + border-left: 6px solid transparent;
>> + border-right: 6px solid transparent;
>> + border-bottom: 6px solid #ffffff;
>> + position: absolute;
>> + top: -6px;
>> + left: 7px;
>> +}
>> +.datepicker > div {
>> + display: none;
>> +}
>> +.datepicker.days div.datepicker-days {
>> + display: block;
>> +}
>> +.datepicker.months div.datepicker-months {
>> + display: block;
>> +}
>> +.datepicker.years div.datepicker-years {
>> + display: block;
>> +}
>> +.datepicker table {
>> + margin: 0;
>> +}
>> +.datepicker td,
>> +.datepicker th {
>> + text-align: center;
>> + width: 20px;
>> + height: 20px;
>> + -webkit-border-radius: 4px;
>> + -moz-border-radius: 4px;
>> + border-radius: 4px;
>> + border: none;
>> +}
>> +.table-striped .datepicker table tr td,
>> +.table-striped .datepicker table tr th {
>> + background-color: transparent;
>> +}
>> +.datepicker table tr td.day:hover {
>> + background: #eeeeee;
>> + cursor: pointer;
>> +}
>> +.datepicker table tr td.old,
>> +.datepicker table tr td.new {
>> + color: #999999;
>> +}
>> +.datepicker table tr td.disabled,
>> +.datepicker table tr td.disabled:hover {
>> + background: none;
>> + color: #999999;
>> + cursor: default;
>> +}
>> +.datepicker table tr td.today,
>> +.datepicker table tr td.today:hover,
>> +.datepicker table tr td.today.disabled,
>> +.datepicker table tr td.today.disabled:hover {
>> + background-color: #fde19a;
>> + background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
>> + background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
>> + background-image: -webkit-gradient(linear, 0 0, 0 100%,
>> from(#fdd49a), to(#fdf59a));
>> + background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
>> + background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
>> + background-image: linear-gradient(top, #fdd49a, #fdf59a);
>> + background-repeat: repeat-x;
>> + filter:
>> progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',
>> endColorstr='#fdf59a', GradientType=0);
>> + border-color: #fdf59a #fdf59a #fbed50;
>> + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0,
>> 0.25);
>> + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
>> + color: #000;
>> +}
>> +.datepicker table tr td.today:hover,
>> +.datepicker table tr td.today:hover:hover,
>> +.datepicker table tr td.today.disabled:hover,
>> +.datepicker table tr td.today.disabled:hover:hover,
>> +.datepicker table tr td.today:active,
>> +.datepicker table tr td.today:hover:active,
>> +.datepicker table tr td.today.disabled:active,
>> +.datepicker table tr td.today.disabled:hover:active,
>> +.datepicker table tr td.today.active,
>> +.datepicker table tr td.today:hover.active,
>> +.datepicker table tr td.today.disabled.active,
>> +.datepicker table tr td.today.disabled:hover.active,
>> +.datepicker table tr td.today.disabled,
>> +.datepicker table tr td.today:hover.disabled,
>> +.datepicker table tr td.today.disabled.disabled,
>> +.datepicker table tr td.today.disabled:hover.disabled,
>> +.datepicker table tr td.today[disabled],
>> +.datepicker table tr td.today:hover[disabled],
>> +.datepicker table tr td.today.disabled[disabled],
>> +.datepicker table tr td.today.disabled:hover[disabled] {
>> + background-color: #fdf59a;
>> +}
>> +.datepicker table tr td.today:active,
>> +.datepicker table tr td.today:hover:active,
>> +.datepicker table tr td.today.disabled:active,
>> +.datepicker table tr td.today.disabled:hover:active,
>> +.datepicker table tr td.today.active,
>> +.datepicker table tr td.today:hover.active,
>> +.datepicker table tr td.today.disabled.active,
>> +.datepicker table tr td.today.disabled:hover.active {
>> + background-color: #fbf069 \9;
>> +}
>> +.datepicker table tr td.today:hover:hover {
>> + color: #000;
>> +}
>> +.datepicker table tr td.today.active:hover {
>> + color: #fff;
>> +}
>> +.datepicker table tr td.range,
>> +.datepicker table tr td.range:hover,
>> +.datepicker table tr td.range.disabled,
>> +.datepicker table tr td.range.disabled:hover {
>> + background: #eeeeee;
>> + -webkit-border-radius: 0;
>> + -moz-border-radius: 0;
>> + border-radius: 0;
>> +}
>> +.datepicker table tr td.range.today,
>> +.datepicker table tr td.range.today:hover,
>> +.datepicker table tr td.range.today.disabled,
>> +.datepicker table tr td.range.today.disabled:hover {
>> + background-color: #f3d17a;
>> + background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a);
>> + background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a);
>> + background-image: -webkit-gradient(linear, 0 0, 0 100%,
>> from(#f3c17a), to(#f3e97a));
>> + background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a);
>> + background-image: -o-linear-gradient(top, #f3c17a, #f3e97a);
>> + background-image: linear-gradient(top, #f3c17a, #f3e97a);
>> + background-repeat: repeat-x;
>> + filter:
>> progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a',
>> endColorstr='#f3e97a', GradientType=0);
>> + border-color: #f3e97a #f3e97a #edde34;
>> + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0,
>> 0.25);
>> + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
>> + -webkit-border-radius: 0;
>> + -moz-border-radius: 0;
>> + border-radius: 0;
>> +}
>> +.datepicker table tr td.range.today:hover,
>> +.datepicker table tr td.range.today:hover:hover,
>> +.datepicker table tr td.range.today.disabled:hover,
>> +.datepicker table tr td.range.today.disabled:hover:hover,
>> +.datepicker table tr td.range.today:active,
>> +.datepicker table tr td.range.today:hover:active,
>> +.datepicker table tr td.range.today.disabled:active,
>> +.datepicker table tr td.range.today.disabled:hover:active,
>> +.datepicker table tr td.range.today.active,
>> +.datepicker table tr td.range.today:hover.active,
>> +.datepicker table tr td.range.today.disabled.active,
>> +.datepicker table tr td.range.today.disabled:hover.active,
>> +.datepicker table tr td.range.today.disabled,
>> +.datepicker table tr td.range.today:hover.disabled,
>> +.datepicker table tr td.range.today.disabled.disabled,
>> +.datepicker table tr td.range.today.disabled:hover.disabled,
>> +.datepicker table tr td.range.today[disabled],
>> +.datepicker table tr td.range.today:hover[disabled],
>> +.datepicker table tr td.range.today.disabled[disabled],
>> +.datepicker table tr td.range.today.disabled:hover[disabled] {
>> + background-color: #f3e97a;
>> +}
>> +.datepicker table tr td.range.today:active,
>> +.datepicker table tr td.range.today:hover:active,
>> +.datepicker table tr td.range.today.disabled:active,
>> +.datepicker table tr td.range.today.disabled:hover:active,
>> +.datepicker table tr td.range.today.active,
>> +.datepicker table tr td.range.today:hover.active,
>> +.datepicker table tr td.range.today.disabled.active,
>> +.datepicker table tr td.range.today.disabled:hover.active {
>> + background-color: #efe24b \9;
>> +}
>> +.datepicker table tr td.selected,
>> +.datepicker table tr td.selected:hover,
>> +.datepicker table tr td.selected.disabled,
>> +.datepicker table tr td.selected.disabled:hover {
>> + background-color: #9e9e9e;
>> + background-image: -moz-linear-gradient(top, #b3b3b3, #808080);
>> + background-image: -ms-linear-gradient(top, #b3b3b3, #808080);
>> + background-image: -webkit-gradient(linear, 0 0, 0 100%,
>> from(#b3b3b3), to(#808080));
>> + background-image: -webkit-linear-gradient(top, #b3b3b3, #808080);
>> + background-image: -o-linear-gradient(top, #b3b3b3, #808080);
>> + background-image: linear-gradient(top, #b3b3b3, #808080);
>> + background-repeat: repeat-x;
>> + filter:
>> progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3',
>> endColorstr='#808080', GradientType=0);
>> + border-color: #808080 #808080 #595959;
>> + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0,
>> 0.25);
>> + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
>> + color: #fff;
>> + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
>> +}
>> +.datepicker table tr td.selected:hover,
>> +.datepicker table tr td.selected:hover:hover,
>> +.datepicker table tr td.selected.disabled:hover,
>> +.datepicker table tr td.selected.disabled:hover:hover,
>> +.datepicker table tr td.selected:active,
>> +.datepicker table tr td.selected:hover:active,
>> +.datepicker table tr td.selected.disabled:active,
>> +.datepicker table tr td.selected.disabled:hover:active,
>> +.datepicker table tr td.selected.active,
>> +.datepicker table tr td.selected:hover.active,
>> +.datepicker table tr td.selected.disabled.active,
>> +.datepicker table tr td.selected.disabled:hover.active,
>> +.datepicker table tr td.selected.disabled,
>> +.datepicker table tr td.selected:hover.disabled,
>> +.datepicker table tr td.selected.disabled.disabled,
>> +.datepicker table tr td.selected.disabled:hover.disabled,
>> +.datepicker table tr td.selected[disabled],
>> +.datepicker table tr td.selected:hover[disabled],
>> +.datepicker table tr td.selected.disabled[disabled],
>> +.datepicker table tr td.selected.disabled:hover[disabled] {
>> + background-color: #808080;
>> +}
>> +.datepicker table tr td.selected:active,
>> +.datepicker table tr td.selected:hover:active,
>> +.datepicker table tr td.selected.disabled:active,
>> +.datepicker table tr td.selected.disabled:hover:active,
>> +.datepicker table tr td.selected.active,
>> +.datepicker table tr td.selected:hover.active,
>> +.datepicker table tr td.selected.disabled.active,
>> +.datepicker table tr td.selected.disabled:hover.active {
>> + background-color: #666666 \9;
>> +}
>> +.datepicker table tr td.active,
>> +.datepicker table tr td.active:hover,
>> +.datepicker table tr td.active.disabled,
>> +.datepicker table tr td.active.disabled:hover {
>> + background-color: #006dcc;
>> + background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
>> + background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
>> + background-image: -webkit-gradient(linear, 0 0, 0 100%,
>> from(#0088cc), to(#0044cc));
>> + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
>> + background-image: -o-linear-gradient(top, #0088cc, #0044cc);
>> + background-image: linear-gradient(top, #0088cc, #0044cc);
>> + background-repeat: repeat-x;
>> + filter:
>> progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',
>> endColorstr='#0044cc', GradientType=0);
>> + border-color: #0044cc #0044cc #002a80;
>> + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0,
>> 0.25);
>> + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
>> + color: #fff;
>> + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
>> +}
>> +.datepicker table tr td.active:hover,
>> +.datepicker table tr td.active:hover:hover,
>> +.datepicker table tr td.active.disabled:hover,
>> +.datepicker table tr td.active.disabled:hover:hover,
>> +.datepicker table tr td.active:active,
>> +.datepicker table tr td.active:hover:active,
>> +.datepicker table tr td.active.disabled:active,
>> +.datepicker table tr td.active.disabled:hover:active,
>> +.datepicker table tr td.active.active,
>> +.datepicker table tr td.active:hover.active,
>> +.datepicker table tr td.active.disabled.active,
>> +.datepicker table tr td.active.disabled:hover.active,
>> +.datepicker table tr td.active.disabled,
>> +.datepicker table tr td.active:hover.disabled,
>> +.datepicker table tr td.active.disabled.disabled,
>> +.datepicker table tr td.active.disabled:hover.disabled,
>> +.datepicker table tr td.active[disabled],
>> +.datepicker table tr td.active:hover[disabled],
>> +.datepicker table tr td.active.disabled[disabled],
>> +.datepicker table tr td.active.disabled:hover[disabled] {
>> + background-color: #0044cc;
>> +}
>> +.datepicker table tr td.active:active,
>> +.datepicker table tr td.active:hover:active,
>> +.datepicker table tr td.active.disabled:active,
>> +.datepicker table tr td.active.disabled:hover:active,
>> +.datepicker table tr td.active.active,
>> +.datepicker table tr td.active:hover.active,
>> +.datepicker table tr td.active.disabled.active,
>> +.datepicker table tr td.active.disabled:hover.active {
>> + background-color: #003399 \9;
>> +}
>> +.datepicker table tr td span {
>> + display: block;
>> + width: 23%;
>> + height: 54px;
>> + line-height: 54px;
>> + float: left;
>> + margin: 1%;
>> + cursor: pointer;
>> + -webkit-border-radius: 4px;
>> + -moz-border-radius: 4px;
>> + border-radius: 4px;
>> +}
>> +.datepicker table tr td span:hover {
>> + background: #eeeeee;
>> +}
>> +.datepicker table tr td span.disabled,
>> +.datepicker table tr td span.disabled:hover {
>> + background: none;
>> + color: #999999;
>> + cursor: default;
>> +}
>> +.datepicker table tr td span.active,
>> +.datepicker table tr td span.active:hover,
>> +.datepicker table tr td span.active.disabled,
>> +.datepicker table tr td span.active.disabled:hover {
>> + background-color: #006dcc;
>> + background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
>> + background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
>> + background-image: -webkit-gradient(linear, 0 0, 0 100%,
>> from(#0088cc), to(#0044cc));
>> + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
>> + background-image: -o-linear-gradient(top, #0088cc, #0044cc);
>> + background-image: linear-gradient(top, #0088cc, #0044cc);
>> + background-repeat: repeat-x;
>> + filter:
>> progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',
>> endColorstr='#0044cc', GradientType=0);
>> + border-color: #0044cc #0044cc #002a80;
>> + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0,
>> 0.25);
>> + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
>> + color: #fff;
>> + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
>> +}
>> +.datepicker table tr td span.active:hover,
>> +.datepicker table tr td span.active:hover:hover,
>> +.datepicker table tr td span.active.disabled:hover,
>> +.datepicker table tr td span.active.disabled:hover:hover,
>> +.datepicker table tr td span.active:active,
>> +.datepicker table tr td span.active:hover:active,
>> +.datepicker table tr td span.active.disabled:active,
>> +.datepicker table tr td span.active.disabled:hover:active,
>> +.datepicker table tr td span.active.active,
>> +.datepicker table tr td span.active:hover.active,
>> +.datepicker table tr td span.active.disabled.active,
>> +.datepicker table tr td span.active.disabled:hover.active,
>> +.datepicker table tr td span.active.disabled,
>> +.datepicker table tr td span.active:hover.disabled,
>> +.datepicker table tr td span.active.disabled.disabled,
>> +.datepicker table tr td span.active.disabled:hover.disabled,
>> +.datepicker table tr td span.active[disabled],
>> +.datepicker table tr td span.active:hover[disabled],
>> +.datepicker table tr td span.active.disabled[disabled],
>> +.datepicker table tr td span.active.disabled:hover[disabled] {
>> + background-color: #0044cc;
>> +}
>> +.datepicker table tr td span.active:active,
>> +.datepicker table tr td span.active:hover:active,
>> +.datepicker table tr td span.active.disabled:active,
>> +.datepicker table tr td span.active.disabled:hover:active,
>> +.datepicker table tr td span.active.active,
>> +.datepicker table tr td span.active:hover.active,
>> +.datepicker table tr td span.active.disabled.active,
>> +.datepicker table tr td span.active.disabled:hover.active {
>> + background-color: #003399 \9;
>> +}
>> +.datepicker table tr td span.old,
>> +.datepicker table tr td span.new {
>> + color: #999999;
>> +}
>> +.datepicker th.datepicker-switch {
>> + width: 145px;
>> +}
>> +.datepicker thead tr:first-child th,
>> +.datepicker tfoot tr th {
>> + cursor: pointer;
>> +}
>> +.datepicker thead tr:first-child th:hover,
>> +.datepicker tfoot tr th:hover {
>> + background: #eeeeee;
>> +}
>> +.datepicker .cw {
>> + font-size: 10px;
>> + width: 12px;
>> + padding: 0 2px 0 5px;
>> + vertical-align: middle;
>> +}
>> +.datepicker thead tr:first-child th.cw {
>> + cursor: default;
>> + background-color: transparent;
>> +}
>> +.input-append.date .add-on i,
>> +.input-prepend.date .add-on i {
>> + display: block;
>> + cursor: pointer;
>> + width: 16px;
>> + height: 16px;
>> +}
>> +.input-daterange input {
>> + text-align: center;
>> +}
>> +.input-daterange input:first-child {
>> + -webkit-border-radius: 3px 0 0 3px;
>> + -moz-border-radius: 3px 0 0 3px;
>> + border-radius: 3px 0 0 3px;
>> +}
>> +.input-daterange input:last-child {
>> + -webkit-border-radius: 0 3px 3px 0;
>> + -moz-border-radius: 0 3px 3px 0;
>> + border-radius: 0 3px 3px 0;
>> +}
>> +.input-daterange .add-on {
>> + display: inline-block;
>> + width: auto;
>> + min-width: 16px;
>> + height: 18px;
>> + padding: 4px 5px;
>> + font-weight: normal;
>> + line-height: 18px;
>> + text-align: center;
>> + text-shadow: 0 1px 0 #ffffff;
>> + vertical-align: middle;
>> + background-color: #eeeeee;
>> + border: 1px solid #ccc;
>> + margin-left: -5px;
>> + margin-right: -5px;
>> +}
>> diff --git a/ui/libs/bootstrap-editable/dist/js/Makefile.am
>> b/ui/libs/bootstrap-editable/dist/js/Makefile.am
>> new file mode 100644
>> index 0000000..880fc49
>> --- /dev/null
>> +++ b/ui/libs/bootstrap-editable/dist/js/Makefile.am
>> @@ -0,0 +1,20 @@
>> +#
>> +# Project Wok
>> +#
>> +# Copyright IBM, Corp. 2015
>> +#
>> +# Licensed under the Apache License, Version 2.0 (the "License");
>> +# you may not use this file except in compliance with the License.
>> +# You may obtain a copy of the License at
>> +#
>> +# http://www.apache.org/licenses/LICENSE-2.0
>> +#
>> +# Unless required by applicable law or agreed to in writing, software
>> +# distributed under the License is distributed on an "AS IS" BASIS,
>> +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>> +# See the License for the specific language governing permissions and
>> +# limitations under the License.
>> +
>> +bootstrapeditablejsdir =
>> $(datadir)/wok/ui/libs/bootstrap-editable/dist/js
>> +
>> +dist_bootstrapeditablejs_DATA = $(wildcard *.js) $(NULL)
>> diff --git
>> a/ui/libs/bootstrap-editable/dist/js/bootstrap-editable.min.js
>> b/ui/libs/bootstrap-editable/dist/js/bootstrap-editable.min.js
>> new file mode 100644
>> index 0000000..e2703ae
>> --- /dev/null
>> +++ b/ui/libs/bootstrap-editable/dist/js/bootstrap-editable.min.js
>> @@ -0,0 +1,7 @@
>> +/*! X-editable - v1.5.1
>> +* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
>> +* http://github.com/vitalets/x-editable
>> +* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
>> +!function(a){"use strict";var
>> b=function(b,c){this.options=a.extend({},a.fn.editableform.defaults,c),this.$div=a(b),this.options.scope||(this.options.scope=this)};b.prototype={constructor:b,initInput:function(){this.input=this.options.input,this.value=this.input.str2value(this.options.value),this.input.prerender()},initTemplate:function(){this.$form=a(a.fn.editableform.template)},initButtons:function(){var
>> b=this.$form.find(".editable-buttons");b.append(a.fn.editableform.buttons),"bottom"===this.options.showbuttons&&b.addClass("editable-buttons-bottom")},render:function(){this.$loading=a(a.fn.editableform.loading),this.$div.empty().append(this.$loading),this.initTemplate(),this.options.showbuttons?this.initButtons():this.$form.find(".editable-buttons").remove(),this.showLoading(),this.isSaving=!1,this.$div.triggerHandler("rendering"),this.initInput(),this.$form.find("div.editable-input").append(this.input.$tpl),this.$div.append(this.$form),a.when(this.input.render()).then(a!
>>
>> .proxy(function(){if(this.options.showbuttons||this.input.autosubmit(),this.$form.find(".editable-cancel").click(a.proxy(this.cancel,this)),this.input.error)this.error(this.input.error),this.$form.find(".editable-submit").attr("disabled",!0),this.input.$input.attr("disabled",!0),this.$form.submit(function(a){a.preventDefault()});else{this.error(!1),this.input.$input.removeAttr("disabled"),this.$form.find(".editable-submit").removeAttr("disabled");var
>> b=null===this.value||void
>> 0===this.value||""===this.value?this.options.defaultValue:this.value;this.input.value2input(b),this.$form.submit(a.proxy(this.submit,this))}this.$div.triggerHandler("rendered"),this.showForm(),this.input.postrender&&this.input.postrender()},this))},cancel:function(){this.$div.triggerHandler("cancel")},showLoading:function(){var
>> a,b;this.$form?(a=this.$form.outerWidth(),b=this.$form.outerHeight(),a&&this.$loading.width(a),b&&this.$loading.height(b),this.$form.hide()):(a=this.$loading.parent().width(),a&!
>>
>> &this.$loading.width(a)),this.$loading.show()},showForm:function(a){this.$loading.hide(),this.$form.show(),a!==!1&&this.input.activate(),this.$div.triggerHandler("show")},error:function(b){var
>> c,d=this.$form.find(".control-group"),e=this.$form.find(".editable-error-block");if(b===!1)d.removeClass(a.fn.editableform.errorGroupClass),e.removeClass(a.fn.editableform.errorBlockClass).empty().hide();else{if(b){c=(""+b).split("\n");for(var
>> f=0;f<c.length;f++)c[f]=a("<div>").text(c[f]).html();b=c.join("<br>")}d.addClass(a.fn.editableform.errorGroupClass),e.addClass(a.fn.editableform.errorBlockClass).html(b).show()}},submit:function(b){b.stopPropagation(),b.preventDefault();var
>> c=this.input.input2value(),d=this.validate(c);if("object"===a.type(d)&&void
>> 0!==d.newValue){if(c=d.newValue,this.input.value2input(c),"string"==typeof
>> d.msg)return this.error(d.msg),this.showForm(),void 0}else
>> if(d)return this.error(d),this.showForm(),void
>> 0;if(!this.options.savenochange&&this.input.value2str!
>> (c)==this.input.value2str(this.value))return
>> this.$div.triggerHandler("!
>> nochange"),void 0;var
>> e=this.input.value2submit(c);this.isSaving=!0,a.when(this.save(e)).done(a.proxy(function(a){this.isSaving=!1;var
>> b="function"==typeof
>> this.options.success?this.options.success.call(this.options.scope,a,c):null;return
>> b===!1?(this.error(!1),this.showForm(!1),void 0):"string"==typeof
>> b?(this.error(b),this.showForm(),void 0):(b&&"object"==typeof
>> b&&b.hasOwnProperty("newValue")&&(c=b.newValue),this.error(!1),this.value=c,this.$div.triggerHandler("save",{newValue:c,submitValue:e,response:a}),void
>> 0)},this)).fail(a.proxy(function(a){this.isSaving=!1;var
>> b;b="function"==typeof
>> this.options.error?this.options.error.call(this.options.scope,a,c):"string"==typeof
>> a?a:a.responseText||a.statusText||"Unknown
>> error!",this.error(b),this.showForm()},this))},save:function(b){this.options.pk=a.fn.editableutils.tryParseJson(this.options.pk,!0);var
>> c,d="function"==typeof
>> this.options.pk?this.options.pk.call(this.options.scope):this.options.pk,e=!!("function"==typeof
>> this.o!
>> ptions.url||this.options.url&&("always"===this.options.send||"auto"===this.options.send&&null!==d&&void
>> 0!==d));return
>> e?(this.showLoading(),c={name:this.options.name||"",value:b,pk:d},"function"==typeof
>> this.options.params?c=this.options.params.call(this.options.scope,c):(this.options.params=a.fn.editableutils.tryParseJson(this.options.params,!0),a.extend(c,this.options.params)),"function"==typeof
>> this.options.url?this.options.url.call(this.options.scope,c):a.ajax(a.extend({url:this.options.url,data:c,type:"POST"},this.options.ajaxOptions))):void
>> 0},validate:function(a){return void
>> 0===a&&(a=this.value),"function"==typeof
>> this.options.validate?this.options.validate.call(this.options.scope,a):void
>> 0},option:function(a,b){a in
>> this.options&&(this.options[a]=b),"value"===a&&this.setValue(b)},setValue:function(a,b){this.value=b?this.input.str2value(a):a,this.$form&&this.$form.is(":visible")&&this.input.value2input(this.value)}},a.fn.editableform=function(c){var
>> d=arguments;ret!
>> urn this.each(function(){var
>> e=a(this),f=e.data("editableform"),g="obje!
>> ct"==typeof c&&c;f||e.data("editableform",f=new
>> b(this,g)),"string"==typeof
>> c&&f[c].apply(f,Array.prototype.slice.call(d,1))})},a.fn.editableform.Constructor=b,a.fn.editableform.defaults={type:"text",url:null,params:null,name:null,pk:null,value:null,defaultValue:null,send:"auto",validate:null,success:null,error:null,ajaxOptions:null,showbuttons:!0,scope:null,savenochange:!1},a.fn.editableform.template='<form
>> class="form-inline editableform"><div class="control-group"><div><div
>> class="editable-input"></div><div
>> class="editable-buttons"></div></div><div
>> class="editable-error-block"></div></div></form>',a.fn.editableform.loading='<div
>> class="editableform-loading"></div>',a.fn.editableform.buttons='<button
>> type="submit" class="editable-submit">ok</button><button
>> type="button"
>> class="editable-cancel">cancel</button>',a.fn.editableform.errorGroupClass=null,a.fn.editableform.errorBlockClass="editable-error",a.fn.editableform.engine="jquery"}(window.jQuery),function(a){"use
>> strict"!
>> ;a.fn.editableutils={inherit:function(a,b){var
>> c=function(){};c.prototype=b.prototype,a.prototype=new
>> c,a.prototype.constructor=a,a.superclass=b.prototype},setCursorPosition:function(a,b){if(a.setSelectionRange)a.setSelectionRange(b,b);else
>> if(a.createTextRange){var
>> c=a.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",b),c.select()}},tryParseJson:function(a,b){if("string"==typeof
>> a&&a.length&&a.match(/^[\{\[].*[\}\]]$/))if(b)try{a=new
>> Function("return "+a)()}catch(c){}finally{return a}else a=new
>> Function("return "+a)();return a},sliceObj:function(b,c,d){var
>> e,f,g={};if(!a.isArray(c)||!c.length)return g;for(var
>> h=0;h<c.length;h++)e=c[h],b.hasOwnProperty(e)&&(g[e]=b[e]),d!==!0&&(f=e.toLowerCase(),b.hasOwnProperty(f)&&(g[e]=b[f]));return
>> g},getConfigData:function(b){var c={};return
>> a.each(b.data(),function(a,b){("object"!=typeof
>> b||b&&"object"==typeof
>> b&&(b.constructor===Object||b.constructor===Array))&&(c[a]=b)}),c},objectKeys:function(a){if(O!
>> bject.keys)return Object.keys(a);if(a!==Object(a))throw new
>> TypeError("!
>> Object.keys called on a non-object");var b,c=[];for(b in
>> a)Object.prototype.hasOwnProperty.call(a,b)&&c.push(b);return
>> c},escape:function(b){return
>> a("<div>").text(b).html()},itemsByValue:function(b,c,d){if(!c||null===b)return[];if("function"!=typeof
>> d){var e=d||"value";d=function(a){return a[e]}}var
>> f=a.isArray(b),g=[],h=this;return
>> a.each(c,function(c,e){if(e.children)g=g.concat(h.itemsByValue(b,e.children,d));else
>> if(f)a.grep(b,function(a){return a==(e&&"object"==typeof
>> e?d(e):e)}).length&&g.push(e);else{var i=e&&"object"==typeof
>> e?d(e):e;b==i&&g.push(e)}}),g},createInput:function(b){var
>> c,d,e,f=b.type;return"date"===f&&("inline"===b.mode?a.fn.editabletypes.datefield?f="datefield":a.fn.editabletypes.dateuifield&&(f="dateuifield"):a.fn.editabletypes.date?f="date":a.fn.editabletypes.dateui&&(f="dateui"),"date"!==f||a.fn.editabletypes.date||(f="combodate")),"datetime"===f&&"inline"===b.mode&&(f="datetimefield"),"wysihtml5"!==f||a.fn.editabletypes[f]||(f="textarea"),"functio!
>>
>> n"==typeof
>> a.fn.editabletypes[f]?(c=a.fn.editabletypes[f],d=this.sliceObj(b,this.objectKeys(c.defaults)),e=new
>> c(d)):(a.error("Unknown type:
>> "+f),!1)},supportsTransitions:function(){var
>> a=document.body||document.documentElement,b=a.style,c="transition",d=["Moz","Webkit","Khtml","O","ms"];if("string"==typeof
>> b[c])return!0;c=c.charAt(0).toUpperCase()+c.substr(1);for(var
>> e=0;e<d.length;e++)if("string"==typeof
>> b[d[e]+c])return!0;return!1}}}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a,b){this.init(a,b)},c=function(a,b){this.init(a,b)};b.prototype={containerName:null,containerDataName:null,innerCss:null,containerClass:"editable-container
>> editable-popup",defaults:{},init:function(c,d){this.$element=a(c),this.options=a.extend({},a.fn.editableContainer.defaults,d),this.splitOptions(),this.formOptions.scope=this.$element[0],this.initContainer(),this.delayedHide=!1,this.$element.on("destroyed",a.proxy(function(){this.destroy()},this)),a(document).data("editable-handlers-a!
>>
>> ttached")||(a(document).on("keyup.editable",function(b){27===b.which&&a!
>> (".editable-open").editableContainer("hide")}),a(document).on("click.editable",function(c){var
>> d,e=a(c.target),f=[".editable-container",".ui-datepicker-header",".datepicker",".modal-backdrop",".bootstrap-wysihtml5-insert-image-modal",".bootstrap-wysihtml5-insert-link-modal"];if(a.contains(document.documentElement,c.target)&&!e.is(document)){for(d=0;d<f.length;d++)if(e.is(f[d])||e.parents(f[d]).length)return;b.prototype.closeOthers(c.target)}}),a(document).data("editable-handlers-attached",!0))},splitOptions:function(){if(this.containerOptions={},this.formOptions={},!a.fn[this.containerName])throw
>> new Error(this.containerName+" not found. Have you included
>> corresponding js file?");for(var b in this.options)b in
>> this.defaults?this.containerOptions[b]=this.options[b]:this.formOptions[b]=this.options[b]},tip:function(){return
>> this.container()?this.container().$tip:null},container:function(){var
>> a;return
>> this.containerDataName&&(a=this.$element.data(this.containerDataName))?a:a=!
>> this.$element.data(this.containerName)},call:function(){this.$element[this.containerName].apply(this.$element,arguments)},initContainer:function(){this.call(this.containerOptions)},renderForm:function(){this.$form.editableform(this.formOptions).on({save:a.proxy(this.save,this),nochange:a.proxy(function(){this.hide("nochange")},this),cancel:a.proxy(function(){this.hide("cancel")},this),show:a.proxy(function(){this.delayedHide?(this.hide(this.delayedHide.reason),this.delayedHide=!1):this.setPosition()},this),rendering:a.proxy(this.setPosition,this),resize:a.proxy(this.setPosition,this),rendered:a.proxy(function(){this.$element.triggerHandler("shown",a(this.options.scope).data("editable"))},this)}).editableform("render")},show:function(b){this.$element.addClass("editable-open"),b!==!1&&this.closeOthers(this.$element[0]),this.innerShow(),this.tip().addClass(this.containerClass),this.$form,this.$form=a("<div>"),this.tip().is(this.innerCss)?this.tip().append(this.$form):this.tip(!
>> ).find(this.innerCss).append(this.$form),this.renderForm()},hide:functi!
>> on(a){if(this.tip()&&this.tip().is(":visible")&&this.$element.hasClass("editable-open")){if(this.$form.data("editableform").isSaving)return
>> this.delayedHide={reason:a},void
>> 0;this.delayedHide=!1,this.$element.removeClass("editable-open"),this.innerHide(),this.$element.triggerHandler("hidden",a||"manual")}},innerShow:function(){},innerHide:function(){},toggle:function(a){this.container()&&this.tip()&&this.tip().is(":visible")?this.hide():this.show(a)},setPosition:function(){},save:function(a,b){this.$element.triggerHandler("save",b),this.hide("save")},option:function(a,b){this.options[a]=b,a
>> in
>> this.containerOptions?(this.containerOptions[a]=b,this.setContainerOption(a,b)):(this.formOptions[a]=b,this.$form&&this.$form.editableform("option",a,b))},setContainerOption:function(a,b){this.call("option",a,b)},destroy:function(){this.hide(),this.innerDestroy(),this.$element.off("destroyed"),this.$element.removeData("editableContainer")},innerDestroy:function(){},closeOthers:functio!
>> n(b){a(".editable-open").each(function(c,d){if(d!==b&&!a(d).find(b).length){var
>> e=a(d),f=e.data("editableContainer");f&&("cancel"===f.options.onblur?e.data("editableContainer").hide("onblur"):"submit"===f.options.onblur&&e.data("editableContainer").tip().find("form").submit())}})},activate:function(){this.tip&&this.tip().is(":visible")&&this.$form&&this.$form.data("editableform").input.activate()}},a.fn.editableContainer=function(d){var
>> e=arguments;return this.each(function(){var
>> f=a(this),g="editableContainer",h=f.data(g),i="object"==typeof
>> d&&d,j="inline"===i.mode?c:b;h||f.data(g,h=new
>> j(this,i)),"string"==typeof
>> d&&h[d].apply(h,Array.prototype.slice.call(e,1))})},a.fn.editableContainer.Popup=b,a.fn.editableContainer.Inline=c,a.fn.editableContainer.defaults={value:null,placement:"top",autohide:!0,onblur:"cancel",anim:!1,mode:"popup"},jQuery.event.special.destroyed={remove:function(a){a.handler&&a.handler()}}}(window.jQuery),function(a){"use
>> strict";a.extend(a.fn.editableC!
>> ontainer.Inline.prototype,a.fn.editableContainer.Popup.prototype,{conta!
>> inerName:"editableform",innerCss:".editable-inline",containerClass:"editable-container
>> editable-inline",initContainer:function(){this.$tip=a("<span></span>"),this.options.anim||(this.options.anim=0)},splitOptions:function(){this.containerOptions={},this.formOptions=this.options},tip:function(){return
>> this.$tip},innerShow:function(){this.$element.hide(),this.tip().insertAfter(this.$element).show()},innerHide:function(){this.$tip.hide(this.options.anim,a.proxy(function(){this.$element.show(),this.innerDestroy()},this))},innerDestroy:function(){this.tip()&&this.tip().empty().remove()}})}(window.jQuery),function(a){"use
>> strict";var
>> b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.editable.defaults,c,a.fn.editableutils.getConfigData(this.$element)),this.options.selector?this.initLive():this.init(),this.options.highlight&&!a.fn.editableutils.supportsTransitions()&&(this.options.highlight=!1)};b.prototype={constructor:b,init:function(){var
>> b,c=!1;if(this.options.na!
>> me=this.options.name||this.$element.attr("id"),this.options.scope=this..$element[0],this.input=a.fn.editableutils.createInput(this.options),this.input){switch(void
>> 0===this.options.value||null===this.options.value?(this.value=this.input.html2value(a.trim(this.$element.html())),c=!0):(this.options.value=a.fn.editableutils.tryParseJson(this.options.value,!0),this.value="string"==typeof
>> this.options.value?this.input.str2value(this.options.value):this.options.value),this.$element.addClass("editable"),"textarea"===this.input.type&&this.$element.addClass("editable-pre-wrapped"),"manual"!==this.options.toggle?(this.$element.addClass("editable-click"),this.$element.on(this.options.toggle+".editable",a.proxy(function(a){if(this.options.disabled||a.preventDefault(),"mouseenter"===this.options.toggle)this.show();else{var
>> b="click"!==this.options.toggle;this.toggle(b)}},this))):this.$element.attr("tabindex",-1),"function"==typeof
>> this.options.display&&(this.options.autotext="always"),t!
>> his.options.autotext){case"always":b=!0;break;case"auto":b=!a.trim(this.!
>> $element.text()).length&&null!==this.value&&void
>> 0!==this.value&&!c;break;default:b=!1}a.when(b?this.render():!0).then(a.proxy(function(){this.options.disabled?this.disable():this.enable(),this.$element.triggerHandler("init",this)},this))}},initLive:function(){var
>> b=this.options.selector;this.options.selector=!1,this.options.autotext="never",this.$element.on(this.options.toggle+".editable",b,a.proxy(function(b){var
>> c=a(b.target);c.data("editable")||(c.hasClass(this.options.emptyclass)&&c.empty(),c.editable(this.options).trigger(b))},this))},render:function(a){return
>> this.options.display!==!1?this.input.value2htmlFinal?this.input.value2html(this.value,this.$element[0],this.options.display,a):"function"==typeof
>> this.options.display?this.options.display.call(this.$element[0],this.value,a):this.input.value2html(this.value,this.$element[0]):void
>> 0},enable:function(){this.options.disabled=!1,this.$element.removeClass("editable-disabled"),this.handleEmpty(this.isEmpty),"manual"!==!
>>
>> this.options.toggle&&"-1"===this.$element.attr("tabindex")&&this.$element.removeAttr("tabindex")},disable:function(){this.options.disabled=!0,this.hide(),this.$element.addClass("editable-disabled"),this.handleEmpty(this.isEmpty),this.$element.attr("tabindex",-1)},toggleDisabled:function(){this.options.disabled?this.enable():this.disable()},option:function(b,c){return
>> b&&"object"==typeof
>> b?(a.each(b,a.proxy(function(b,c){this.option(a.trim(b),c)},this)),void
>> 0):(this.options[b]=c,"disabled"===b?c?this.disable():this.enable():("value"===b&&this.setValue(c),this.container&&this.container.option(b,c),this.input.option&&this.input.option(b,c),void
>> 0))},handleEmpty:function(b){this.options.display!==!1&&(this.isEmpty=void
>> 0!==b?b:"function"==typeof
>> this.input.isEmpty?this.input.isEmpty(this.$element):""===a.trim(this.$element.html()),this.options.disabled?this.isEmpty&&(this.$element.empty(),this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass)):this.isEmpty!
>> ?(this.$element.html(this.options.emptytext),this.options.emptyclass&&t!
>> his.$element.addClass(this.options.emptyclass)):this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass))},show:function(b){if(!this.options.disabled){if(this.container){if(this.container.tip().is(":visible"))return}else{var
>> c=a.extend({},this.options,{value:this.value,input:this.input});this.$element.editableContainer(c),this.$element.on("save.internal",a.proxy(this.save,this)),this.container=this.$element.data("editableContainer")}this.container.show(b)}},hide:function(){this.container&&this.container.hide()},toggle:function(a){this.container&&this.container.tip().is(":visible")?this.hide():this.show(a)},save:function(a,b){if(this.options.unsavedclass){var
>> c=!1;c=c||"function"==typeof
>> this.options.url,c=c||this.options.display===!1,c=c||void
>> 0!==b.response,c=c||this.options.savenochange&&this.input.value2str(this.value)!==this.input.value2str(b.newValue),c?this.$element.removeClass(this.options.unsavedclass):this.$element.addClass(this.options.unsavedcl!
>> ass)}if(this.options.highlight){var
>> d=this.$element,e=d.css("background-color");d.css("background-color",this.options.highlight),setTimeout(function(){"transparent"===e&&(e=""),d.css("background-color",e),d.addClass("editable-bg-transition"),setTimeout(function(){d.removeClass("editable-bg-transition")},1700)},10)}this.setValue(b.newValue,!1,b.response)},validate:function(){return"function"==typeof
>> this.options.validate?this.options.validate.call(this,this.value):void 0},setValue:function(b,c,d){this.value=c?this.input.str2value(b):b,this.container&&this.container.option("value",this.value),a.when(this.render(d)).then(a.proxy(function(){this.handleEmpty()},this))},activate:function(){this.container&&this.container.activate()},destroy:function(){this.disable(),this.container&&this.container.destroy(),this.input.destroy(),"manual"!==this.options.toggle&&(this.$element.removeClass("editable-click"),this.$element.off(this.options.toggle+".editable")),this.$element.off("save.int!
>>
>> ernal"),this.$element.removeClass("editable editable-open
>> editable-disa!
>> bled"),this.$element.removeData("editable")}},a.fn.editable=function(c){var
>> d={},e=arguments,f="editable";switch(c){case"validate":return
>> this.each(function(){var
>> b,c=a(this),e=c.data(f);e&&(b=e.validate())&&(d[e.options.name]=b)}),d;case"getValue":return
>> 2===arguments.length&&arguments[1]===!0?d=this.eq(0).data(f).value:this.each(function(){var
>> b=a(this),c=b.data(f);c&&void
>> 0!==c.value&&null!==c.value&&(d[c.options.name]=c.input.value2submit(c.value))}),d;case"submit":var
>> g=arguments[1]||{},h=this,i=this.editable("validate");if(a.isEmptyObject(i)){var
>> j={};if(1===h.length){var
>> k=h.data("editable"),l={name:k.options.name||"",value:k.input.value2submit(k.value),pk:"function"==typeof
>> k.options.pk?k.options.pk.call(k.options.scope):k.options.pk};"function"==typeof
>> k.options.params?l=k.options.params.call(k.options.scope,l):(k.options.params=a.fn.editableutils.tryParseJson(k.options.params,!0),a.extend(l,k.options.params)),j={url:k.options.url,data:l,type:"POST"},g.success=g.su!
>>
>> ccess||k.options.success,g.error=g.error||k.options.error}else{var
>> m=this.editable("getValue");j={url:g.url,data:m,type:"POST"}}j.success="function"==typeof
>> g.success?function(a){g.success.call(h,a,g)}:a.noop,j.error="function"==typeof
>> g.error?function(){g.error.apply(h,arguments)}:a.noop,g.ajaxOptions&&a.extend(j,g.ajaxOptions),g.data&&a.extend(j.data,g.data),a.ajax(j)}else"function"==typeof
>> g.error&&g.error.call(h,i);return this}return
>> this.each(function(){var d=a(this),g=d.data(f),h="object"==typeof
>> c&&c;return h&&h.selector?(g=new b(this,h),void 0):(g||d.data(f,g=new
>> b(this,h)),"string"==typeof
>> c&&g[c].apply(g,Array.prototype.slice.call(e,1)),void
>> 0)})},a.fn.editable.defaults={type:"text",disabled:!1,toggle:"click",emptytext:"Empty",autotext:"auto",value:null,display:null,emptyclass:"editable-empty",unsavedclass:"editable-unsaved",selector:null,highlight:"#FFFF80"}}(window.jQuery),function(a){"use
>> strict";a.fn.editabletypes={};var
>> b=function(){};b.prototype={init:functi!
>> on(b,c,d){this.type=b,this.options=a.extend({},d,c)},prerender:function!
>> (){this.$tpl=a(this.options.tpl),this.$input=this.$tpl,this.$clear=null,this.error=null},render:function(){},value2html:function(b,c){a(c)[this.options.escape?"text":"html"](a.trim(b))},html2value:function(b){return
>> a("<div>").html(b).text()},value2str:function(a){return
>> a},str2value:function(a){return a},value2submit:function(a){return
>> a},value2input:function(a){this.$input.val(a)},input2value:function(){return
>> this.$input.val()},activate:function(){this.$input.is(":visible")&&this.$input.focus()},clear:function(){this.$input.val(null)},escape:function(b){return
>> a("<div>").text(b).html()},autosubmit:function(){},destroy:function(){},setClass:function(){this.options.inputclass&&this.$input.addClass(this.options.inputclass)},setAttr:function(a){void
>> 0!==this.options[a]&&null!==this.options[a]&&this.$input.attr(a,this.options[a])},option:function(a,b){this.options[a]=b}},b.defaults={tpl:"",inputclass:null,escape:!0,scope:null,showbuttons:!0},a.extend(a.fn.editabletypes,{abstr!
>>
>> actinput:b})}(window.jQuery),function(a){"use strict";var
>> b=function(){};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){var
>> b=a.Deferred();return
>> this.error=null,this.onSourceReady(function(){this.renderList(),b.resolve()},function(){this.error=this.options.sourceError,b.resolve()}),b.promise()},html2value:function(){return
>> null},value2html:function(b,c,d,e){var
>> f=a.Deferred(),g=function(){"function"==typeof
>> d?d.call(c,b,this.sourceData,e):this.value2htmlFinal(b,c),f.resolve()};return
>> null===b?g.call(this):this.onSourceReady(g,function(){f.resolve()}),f.promise()},onSourceReady:function(b,c){var
>> d;if(a.isFunction(this.options.source)?(d=this.options.source.call(this.options.scope),this.sourceData=null):d=this.options.source,this.options.sourceCache&&a.isArray(this.sourceData))return
>> b.call(this),void
>> 0;try{d=a.fn.editableutils.tryParseJson(d,!1)}catch(e){return
>> c.call(this),void 0}if("string"==typeof d){if(this.options!
>> .sourceCache){var
>> f,g=d;if(a(document).data(g)||a(document).data(g,{}),!
>> f=a(document).data(g),f.loading===!1&&f.sourceData)return
>> this.sourceData=f.sourceData,this.doPrepend(),b.call(this),void
>> 0;if(f.loading===!0)return
>> f.callbacks.push(a.proxy(function(){this.sourceData=f.sourceData,this.doPrepend(),b.call(this)},this)),f.err_callbacks.push(a.proxy(c,this)),void
>> 0;f.loading=!0,f.callbacks=[],f.err_callbacks=[]}var
>> h=a.extend({url:d,type:"get",cache:!1,dataType:"json",success:a.proxy(function(d){f&&(f.loading=!1),this.sourceData=this.makeArray(d),a.isArray(this.sourceData)?(f&&(f.sourceData=this.sourceData,a.each(f.callbacks,function(){this.call()})),this.doPrepend(),b.call(this)):(c.call(this),f&&a.each(f.err_callbacks,function(){this.call()}))},this),error:a.proxy(function(){c.call(this),f&&(f.loading=!1,a.each(f.err_callbacks,function(){this.call()}))},this)},this.options.sourceOptions);a.ajax(h)}else
>> this.sourceData=this.makeArray(d),a.isArray(this.sourceData)?(this.doPrepend(),b.call(this)):c.call(this)},doPrepend:function(){null!==this.o!
>>
>> ptions.prepend&&void
>> 0!==this.options.prepend&&(a.isArray(this.prependData)||(a.isFunction(this.options.prepend)&&(this.options.prepend=this.options.prepend.call(this.options.scope)),this.options.prepend=a.fn.editableutils.tryParseJson(this.options.prepend,!0),"string"==typeof
>> this.options.prepend&&(this.options.prepend={"":this.options.prepend}),this.prependData=this.makeArray(this.options.prepend)),a.isArray(this.prependData)&&a.isArray(this.sourceData)&&(this.sourceData=this.prependData.concat(this.sourceData)))},renderList:function(){},value2htmlFinal:function(){},makeArray:function(b){var
>> c,d,e,f,g=[];if(!b||"string"==typeof b)return
>> null;if(a.isArray(b)){f=function(a,b){return
>> d={value:a,text:b},c++>=2?!1:void 0};for(var
>> h=0;h<b.length;h++)e=b[h],"object"==typeof
>> e?(c=0,a.each(e,f),1===c?g.push(d):c>1&&(e.children&&(e.children=this.makeArray(e.children)),g.push(e))):g.push({value:e,text:e})}else
>> a.each(b,function(a,b){g.push({value:a,text:b})});return
>> g},option:functi!
>> on(a,b){this.options[a]=b,"source"===a&&(this.sourceData=null),"prepend!
>> "===a&&(this.prependData=null)}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{source:null,prepend:!1,sourceError:"Error
>> when loading
>> list",sourceCache:!0,sourceOptions:null}),a.fn.editabletypes.list=b}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a){this.init("text",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.renderClear(),this.setClass(),this.setAttr("placeholder")},activate:function(){this.$input.is(":visible")&&(this.$input.focus(),a.fn.editableutils.setCursorPosition(this.$input.get(0),this.$input.val().length),this.toggleClear&&this.toggleClear())},renderClear:function(){this.options.clear&&(this.$clear=a('<span
>> class="editable-clear-x"></span>'),this.$input.after(this.$clear).css("padding-right",24).keyup(a.proxy(function(b){if(!~a.inArray(b.keyCode,[40,38,9,13,27])){clearTimeout(this.t);var
>> c=this;this.t=setTimeout(function(){c.toggleClear(b)},100)}},this)).!
>> parent().css("position","relative"),this.$clear.click(a.proxy(this.clear,this)))},postrender:function(){},toggleClear:function(){if(this.$clear){var
>> a=this.$input.val().length,b=this.$clear.is(":visible");a&&!b&&this.$clear.show(),!a&&b&&this.$clear.hide()}},clear:function(){this.$clear.hide(),this.$input.val("").focus()}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input
>> type="text">',placeholder:null,clear:!0}),a.fn.editabletypes.text=b}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a){this.init("textarea",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.setClass(),this.setAttr("placeholder"),this.setAttr("rows"),this.$input.keydown(function(b){b.ctrlKey&&13===b.which&&a(this).closest("form").submit()})},activate:function(){a.fn.editabletypes.text.prototype.activate.call(this)}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:"<textarea></!
>> textarea>",inputclass:"input-large",placeholder:null,rows:7}),a.fn.edit!
>> abletypes.textarea=b}(window.jQuery),function(a){"use strict";var
>> b=function(a){this.init("select",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.list),a.extend(b.prototype,{renderList:function(){this.$input.empty();var
>> b=function(c,d){var e;if(a.isArray(d))for(var
>> f=0;f<d.length;f++)e={},d[f].children?(e.label=d[f].text,c.append(b(a("<optgroup>",e),d[f].children))):(e.value=d[f].value,d[f].disabled&&(e.disabled=!0),c.append(a("<option>",e).text(d[f].text)));return
>> c};b(this.$input,this.sourceData),this.setClass(),this.$input.on("keydown.editable",function(b){13===b.which&&a(this).closest("form").submit()})},value2htmlFinal:function(b,c){var
>> d="",e=a.fn.editableutils.itemsByValue(b,this.sourceData);e.length&&(d=e[0].text),a.fn.editabletypes.abstractinput.prototype.value2html.call(this,d,c)},autosubmit:function(){this.$input.off("keydown.editable").on("change.editable",function(){a(this).closest("form").submit()})}}),b.defaults=a.extend({},a.fn.editabletypes.!
>>
>> list.defaults,{tpl:"<select></select>"}),a.fn.editabletypes.select=b}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a){this.init("checklist",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.list),a.extend(b.prototype,{renderList:function(){var
>> b;if(this.$tpl.empty(),a.isArray(this.sourceData)){for(var
>> c=0;c<this.sourceData.length;c++)b=a("<label>").append(a("<input>",{type:"checkbox",value:this.sourceData[c].value})).append(a("<span>").text("
>> "+this.sourceData[c].text)),a("<div>").append(b).appendTo(this.$tpl);this.$input=this.$tpl.find('input[type="checkbox"]'),this.setClass()}},value2str:function(b){return
>> a.isArray(b)?b.sort().join(a.trim(this.options.separator)):""},str2value:function(b){var
>> c,d=null;return"string"==typeof b&&b.length?(c=new
>> RegExp("\\s*"+a.trim(this.options.separator)+"\\s*"),d=b.split(c)):d=a.isArray(b)?b:[b],d},value2input:function(b){this.$input.prop("checked",!1),a.isArray(b)&&b.length&&this.$input.each(function(c,d){var
>> e=a(!
>> d);a.each(b,function(a,b){e.val()==b&&e.prop("checked",!0)})})},input2v!
>> alue:function(){var b=[];return
>> this.$input.filter(":checked").each(function(c,d){b.push(a(d).val())}),b},value2htmlFinal:function(b,c){var
>> d=[],e=a.fn.editableutils.itemsByValue(b,this.sourceData),f=this.options.escape;e.length?(a.each(e,function(b,c){var
>> e=f?a.fn.editableutils.escape(c.text):c.text;d.push(e)}),a(c).html(d.join("<br>"))):a(c).empty()},activate:function(){this.$input.first().focus()},autosubmit:function(){this.$input.on("keydown",function(b){13===b.which&&a(this).closest("form").submit()})}}),b.defaults=a.extend({},a.fn.editabletypes.list.defaults,{tpl:'<div
>> class="editable-checklist"></div>',inputclass:null,separator:","}),a.fn.editabletypes.checklist=b}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a){this.init("password",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),a.extend(b.prototype,{value2html:function(b,c){b?a(c).text("[hidden]"):a(c).empty()},html2value:function(){return
>> null}}),b.defaults=a.extend({},a.fn.editablet!
>> ypes.text.defaults,{tpl:'<input
>> type="password">'}),a.fn.editabletypes..password=b}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a){this.init("email",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input
>> type="email">'}),a.fn.editabletypes.email=b}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a){this.init("url",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input
>> type="url">'}),a.fn.editabletypes.url=b}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a){this.init("tel",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.text),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input
>> type="tel">'}),a.fn.editabletypes.tel=b}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a){this.init("number",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes!
>> .text),a.extend(b.prototype,{render:function(){b.superclass.render.call(!
>> this),this.setAttr("min"),this.setAttr("max"),this.setAttr("step")},postrender:function(){this.$clear&&this.$clear.css({right:24})}}),b.defaults=a.extend({},a.fn.editabletypes.text.defaults,{tpl:'<input
>> type="number">',inputclass:"input-mini",min:null,max:null,step:null}),a.fn.editabletypes.number=b}(window.jQuery),function(a){"use
>> strict";
>> +var
>> b=function(a){this.init("range",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.number),a.extend(b.prototype,{render:function(){this.$input=this.$tpl.filter("input"),this.setClass(),this.setAttr("min"),this.setAttr("max"),this.setAttr("step"),this.$input.on("input",function(){a(this).siblings("output").text(a(this).val())})},activate:function(){this.$input.focus()}}),b.defaults=a.extend({},a.fn.editabletypes.number.defaults,{tpl:'<input
>> type="range"><output style="width: 30px; display:
>> inline-block"></output>',inputclass:"input-medium"}),a.fn.editabletypes.range=b}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a){this.init("time",a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.setClass()}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input
>> type="time">'}),a.fn.editabletypes.time=b}(window.jQuery),function(a){"use
>> strict";var b=function(c){if(thi!
>> s.init("select2",c,b.defaults),c.select2=c.select2||{},this.sourceData=null,c.placeholder&&(c.select2.placeholder=c.placeholder),!c.select2.tags&&c.source){var
>> d=c.source;a.isFunction(c.source)&&(d=c.source.call(c.scope)),"string"==typeof
>> d?(c.select2.ajax=c.select2.ajax||{},c.select2.ajax.data||(c.select2.ajax.data=function(a){return{query:a}}),c.select2.ajax.results||(c.select2.ajax.results=function(a){return{results:a}}),c.select2.ajax.url=d):(this.sourceData=this.convertSource(d),c.select2.data=this.sourceData)}if(this.options.select2=a.extend({},b.defaults.select2,c.select2),this.isMultiple=this.options.select2.tags||this.options.select2.multiple,this.isRemote="ajax"in
>> this.options.select2,this.idFunc=this.options.select2.id,"function"!=typeof
>> this.idFunc){var e=this.idFunc||"id";this.idFunc=function(a){return
>> a[e]}}this.formatSelection=this.options.select2.formatSelection,"function"!=typeof
>> this.formatSelection&&(this.formatSelection=function(a){return
>> a.text})};a.fn.!
>> editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.setClass(),this.isRemote&&this.$input.on("select2-loaded",a.proxy(function(a){this.sourceData=a.items.results},this)),this.isMultiple&&this.$input.on("change",function(){a(this).closest("form").parent().triggerHandler("resize")})},value2html:function(c,d){var
>> e,f="",g=this;this.options.select2.tags?e=c:this.sourceData&&(e=a.fn.editableutils.itemsByValue(c,this.sourceData,this.idFunc)),a.isArray(e)?(f=[],a.each(e,function(a,b){f.push(b&&"object"==typeof
>> b?g.formatSelection(b):b)})):e&&(f=g.formatSelection(e)),f=a.isArray(f)?f.join(this.options.viewseparator):f,b.superclass.value2html.call(this,f,d)},html2value:function(a){return
>> this.options.select2.tags?this.str2value(a,this.options.viewseparator):null},value2input:function(b){if(a.isArray(b)&&(b=b.join(this.getSeparator())),this.$input.data("select2")?this.$input.val(b).trigger("change",!0):(this.$input.val(b),this.$input!
>>
>> .select2(this.options.select2)),this.isRemote&&!this.isMultiple&&!this.!
>> options.select2.initSelection){var
>> c=this.options.select2.id,d=this.options.select2.formatSelection;if(!c&&!d){var
>> e=a(this.options.scope);if(!e.data("editable").isEmpty){var
>> f={id:b,text:e.text()};this.$input.select2("data",f)}}}},input2value:function(){return
>> this.$input.select2("val")},str2value:function(b,c){if("string"!=typeof
>> b||!this.isMultiple)return b;c=c||this.getSeparator();var
>> d,e,f;if(null===b||b.length<1)return
>> null;for(d=b.split(c),e=0,f=d.length;f>e;e+=1)d[e]=a.trim(d[e]);return d},autosubmit:function(){this.$input.on("change",function(b,c){c||a(this).closest("form").submit()})},getSeparator:function(){return
>> this.options.select2.separator||a.fn.select2.defaults.separator},convertSource:function(b){if(a.isArray(b)&&b.length&&void
>> 0!==b[0].value)for(var c=0;c<b.length;c++)void
>> 0!==b[c].value&&(b[c].id=b[c].value,delete b[c].value);return
>> b},destroy:function(){this.$input.data("select2")&&this.$input.select2("destroy")}}),b.defaults=a.extend({},a.fn.editablety!
>> pes.abstractinput.defaults,{tpl:'<input
>> type="hidden">',select2:null,placeholder:null,source:null,viewseparator:",
>> "}),a.fn.editabletypes.select2=b}(window.jQuery),function(a){var
>> b=function(b,c){return
>> this.$element=a(b),this.$element.is("input")?(this.options=a.extend({},a.fn.combodate.defaults,c,this.$element.data()),this.init(),void
>> 0):(a.error("Combodate should be applied to INPUT element"),void
>> 0)};b.prototype={constructor:b,init:function(){this.map={day:["D","date"],month:["M","month"],year:["Y","year"],hour:["[Hh]","hours"],minute:["m","minutes"],second:["s","seconds"],ampm:["[Aa]",""]},this.$widget=a('<span
>> class="combodate"></span>').html(this.getTemplate()),this.initCombos(),this.$widget.on("change","select",a.proxy(function(b){this.$element.val(this.getValue()).change(),this.options.smartDays&&(a(b.target).is(".month")||a(b.target).is(".year"))&&this.fillCombo("day")},this)),this.$widget.find("select").css("width","auto"),this.$element.hide().after(this.$widget)!
>>
>> ,this.setValue(this.$element.val()||this.options.value)},getTemplate:fu!
>> nction(){var b=this.options.template;return
>> a.each(this.map,function(a,c){c=c[0];var d=new
>> RegExp(c+"+"),e=c.length>1?c.substring(1,2):c;b=b.replace(d,"{"+e+"}")}),b=b.replace(/
>> /g," "),a.each(this.map,function(a,c){c=c[0];var
>> d=c.length>1?c.substring(1,2):c;b=b.replace("{"+d+"}",'<select
>> class="'+a+'"></select>')}),b},initCombos:function(){for(var a in
>> this.map){var
>> b=this.$widget.find("."+a);this["$"+a]=b.length?b:null,this.fillCombo(a)}},fillCombo:function(a){var
>> b=this["$"+a];if(b){var
>> c="fill"+a.charAt(0).toUpperCase()+a.slice(1),d=this[c](),e=b.val();b.empty();for(var
>> f=0;f<d.length;f++)b.append('<option
>> value="'+d[f][0]+'">'+d[f][1]+"</option>");b.val(e)}},fillCommon:function(a){var
>> b,c=[];if("name"===this.options.firstItem){b=moment.relativeTime||moment.langData()._relativeTime;var
>> d="function"==typeof b[a]?b[a](1,!0,a,!1):b[a];d=d.split("
>> ").reverse()[0],c.push(["",d])}else"empty"===this.options.firstItem&&c.push(["",""]);return
>> c},fillDay:function(){var a,b,c!
>> =this.fillCommon("d"),d=-1!==this.options.template.indexOf("DD"),e=31;if(this.options.smartDays&&this.$month&&this.$year){var
>> f=parseInt(this.$month.val(),10),g=parseInt(this.$year.val(),10);isNaN(f)||isNaN(g)||(e=moment([g,f]).daysInMonth())}for(b=1;e>=b;b++)a=d?this.leadZero(b):b,c.push([b,a]);return
>> c},fillMonth:function(){var
>> a,b,c=this.fillCommon("M"),d=-1!==this.options.template.indexOf("MMMM"),e=-1!==this.options.template.indexOf("MMM"),f=-1!==this.options.template.indexOf("MM");for(b=0;11>=b;b++)a=d?moment().date(1).month(b).format("MMMM"):e?moment().date(1).month(b).format("MMM"):f?this.leadZero(b+1):b+1,c.push([b,a]);return
>> c},fillYear:function(){var
>> a,b,c=[],d=-1!==this.options.template.indexOf("YYYY");for(b=this.options.maxYear;b>=this.options.minYear;b--)a=d?b:(b+"").substring(2),c[this.options.yearDescending?"push":"unshift"]([b,a]);return
>> c=this.fillCommon("y").concat(c)},fillHour:function(){var
>> a,b,c=this.fillCommon("h"),d=-1!==this.options.template.indexOf(!
>> "h"),e=(-1!==this.options.template.indexOf("H"),-1!==this.options.templ!
>> ate.toLowerCase().indexOf("hh")),f=d?1:0,g=d?12:23;for(b=f;g>=b;b++)a=e?this.leadZero(b):b,c.push([b,a]);return
>> c},fillMinute:function(){var
>> a,b,c=this.fillCommon("m"),d=-1!==this.options.template.indexOf("mm");for(b=0;59>=b;b+=this.options.minuteStep)a=d?this.leadZero(b):b,c.push([b,a]);return
>> c},fillSecond:function(){var
>> a,b,c=this.fillCommon("s"),d=-1!==this.options.template.indexOf("ss");for(b=0;59>=b;b+=this.options.secondStep)a=d?this.leadZero(b):b,c.push([b,a]);return
>> c},fillAmpm:function(){var
>> a=-1!==this.options.template.indexOf("a"),b=(-1!==this.options.template.indexOf("A"),[["am",a?"am":"AM"],["pm",a?"pm":"PM"]]);return
>> b},getValue:function(b){var c,d={},e=this,f=!1;return
>> a.each(this.map,function(a){if("ampm"!==a){var b="day"===a?1:0;return
>> d[a]=e["$"+a]?parseInt(e["$"+a].val(),10):b,isNaN(d[a])?(f=!0,!1):void 0}}),f?"":(this.$ampm&&(d.hour=12===d.hour?"am"===this.$ampm.val()?0:12:"am"===this.$ampm.val()?d.hour:d.hour+12),c=moment([d.year,d.month,d.day,d.hour,d!
>>
>> .minute,d.second]),this.highlight(c),b=void
>> 0===b?this.options.format:b,null===b?c.isValid()?c:null:c.isValid()?c.format(b):"")},setValue:function(b){function
>> c(b,c){var d={};return b.children("option").each(function(b,e){var
>> f,g=a(e).attr("value");""!==g&&(f=Math.abs(g-c),("undefined"==typeof
>> d.distance||f<d.distance)&&(d={value:g,distance:f}))}),d.value}if(b){var
>> d="string"==typeof
>> b?moment(b,this.options.format):moment(b),e=this,f={};d.isValid()&&(a.each(this.map,function(a,b){"ampm"!==a&&(f[a]=d[b[1]]())}),this.$ampm&&(f.hour>=12?(f.ampm="pm",f.hour>12&&(f.hour-=12)):(f.ampm="am",0===f.hour&&(f.hour=12))),a.each(f,function(a,b){e["$"+a]&&("minute"===a&&e.options.minuteStep>1&&e.options.roundTime&&(b=c(e["$"+a],b)),"second"===a&&e.options.secondStep>1&&e.options.roundTime&&(b=c(e["$"+a],b)),e["$"+a].val(b))}),this.options.smartDays&&this.fillCombo("day"),this.$element.val(d.format(this.options.format)).change())}},highlight:function(a){a.isValid()?this.options.errorClass!
>> ?this.$widget.removeClass(this.options.errorClass):this.$widget.find("s!
>> elect").css("border-color",this.borderColor):this.options.errorClass?this.$widget.addClass(this.options.errorClass):(this.borderColor||(this.borderColor=this.$widget.find("select").css("border-color")),this.$widget.find("select").css("border-color","red"))},leadZero:function(a){return
>> 9>=a?"0"+a:a},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},a.fn.combodate=function(c){var
>> d,e=Array.apply(null,arguments);return
>> e.shift(),"getValue"===c&&this.length&&(d=this.eq(0).data("combodate"))?d.getValue.apply(d,e):this.each(function(){var
>> d=a(this),f=d.data("combodate"),g="object"==typeof
>> c&&c;f||d.data("combodate",f=new b(this,g)),"string"==typeof
>> c&&"function"==typeof
>> f[c]&&f[c].apply(f,e)})},a.fn.combodate.defaults={format:"DD-MM-YYYY
>> HH:mm",template:"D / MMM / YYYY H :
>> mm",value:null,minYear:1970,maxYear:2015,yearDescending:!0,minuteStep:5,secondStep:1,firstItem:"empty",errorClass:null,roundTime:!0,smartDays:!1}}(window.jQuery),function!
>> (a){"use strict";var
>> b=function(c){this.init("combodate",c,b.defaults),this.options.viewformat||(this.options.viewformat=this.options.format),c.combodate=a.fn.editableutils.tryParseJson(c.combodate,!0),this.options.combodate=a.extend({},b.defaults.combodate,c.combodate,{format:this.options.format,template:this.options.template})};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{render:function(){this.$input.combodate(this.options.combodate),"bs3"===a.fn.editableform.engine&&this.$input.siblings().find("select").addClass("form-control"),this.options.inputclass&&this.$input.siblings().find("select").addClass(this.options.inputclass)},value2html:function(a,c){var
>> d=a?a.format(this.options.viewformat):"";b.superclass.value2html.call(this,d,c)},html2value:function(a){return
>> a?moment(a,this.options.viewformat):null},value2str:function(a){return a?a.format(this.options.format):""},str2value:function(a){return
>> a?moment(a,this.options.format):null!
>> },value2submit:function(a){return
>> this.value2str(a)},value2input:functi!
>> on(a){this.$input.combodate("setValue",a)},input2value:function(){return
>> this.$input.combodate("getValue",null)},activate:function(){this.$input.siblings(".combodate").find("select").eq(0).focus()},autosubmit:function(){}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<input
>> type="text">',inputclass:null,format:"YYYY-MM-DD",viewformat:null,template:"D
>> / MMM /
>> YYYY",combodate:null}),a.fn.editabletypes.combodate=b}(window.jQuery),function(a){"use
>> strict";var
>> b=a.fn.editableform.Constructor.prototype.initInput;a.extend(a.fn.editableform.Constructor.prototype,{initTemplate:function(){this.$form=a(a.fn.editableform.template),this.$form.find(".control-group").addClass("form-group"),this.$form.find(".editable-error-block").addClass("help-block")},initInput:function(){b.apply(this);var
>> c=null===this.input.options.inputclass||this.input.options.inputclass===!1,d="input-sm",e="text,select,textarea,password,email,url,tel,number,range,time,typeaheadjs".split("!
>>
>> ,");~a.inArray(this.input.type,e)&&(this.input.$input.addClass("form-control"),c&&(this.input.options.inputclass=d,this.input.$input.addClass(d)));for(var
>> f=this.$form.find(".editable-buttons"),g=c?[d]:this.input.options.inputclass.split("
>> "),h=0;h<g.length;h++)"input-lg"===g[h].toLowerCase()&&f.find("button").removeClass("btn-sm").addClass("btn-lg")}}),a.fn.editableform.buttons='<button
>> type="submit" class="btn btn-primary btn-sm editable-submit"><i
>> class="glyphicon glyphicon-ok"></i></button><button type="button"
>> class="btn btn-default btn-sm editable-cancel"><i class="glyphicon
>> glyphicon-remove"></i></button>',a.fn.editableform.errorGroupClass="has-error",a.fn.editableform.errorBlockClass=null,a.fn.editableform.engine="bs3"}(window.jQuery),function(a){"use
>> strict";a.extend(a.fn.editableContainer.Popup.prototype,{containerName:"popover",containerDataName:"bs.popover",innerCss:".popover-content",defaults:a.fn.popover.Constructor.DEFAULTS,initContainer:function(){a.extend(t!
>>
>> his.containerOptions,{trigger:"manual",selector:!1,content:"
>> ",template!
>> :this.defaults.template});var
>> b;this.$element.data("template")&&(b=this.$element.data("template"),this.$element.removeData("template")),this.call(this.containerOptions),b&&this.$element.data("template",b)},innerShow:function(){this.call("show")},innerHide:function(){this.call("hide")},innerDestroy:function(){this.call("destroy")},setContainerOption:function(a,b){this.container().options[a]=b},setPosition:function(){!function(){var
>> a=this.tip(),b="function"==typeof
>> this.options.placement?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,c=/\s?auto?\s?/i,d=c.test(b);d&&(b=b.replace(c,"")||"top");var
>> e=this.getPosition(),f=a[0].offsetWidth,g=a[0].offsetHeight;if(d){var
>> h=this.$element.parent(),i=b,j=document.documentElement.scrollTop||document.body.scrollTop,k="body"==this.options.container?window.innerWidth:h.outerWidth(),l="body"==this.options.container?window.innerHeight:h.outerHeight(),m="body"==this.options.container?0:h.offset().left;b="botto!
>>
>> m"==b&&e.top+e.height+g-j>l?"top":"top"==b&&e.top-j-g<0?"bottom":"right"==b&&e.right+f>k?"left":"left"==b&&e.left-f<m?"right":b,a.removeClass(i).addClass(b)}var
>> n=this.getCalculatedOffset(b,e,f,g);this.applyPlacement(n,b)}.call(this.container())}})}(window.jQuery),function(a){function
>> b(){return new Date(Date.UTC.apply(Date,arguments))}function
>> c(b,c){var d,e=a(b).data(),f={},g=new
>> RegExp("^"+c.toLowerCase()+"([A-Z])"),c=new
>> RegExp("^"+c.toLowerCase());for(var h in
>> e)c.test(h)&&(d=h.replace(g,function(a,b){return
>> b.toLowerCase()}),f[d]=e[h]);return f}function d(b){var
>> c={};if(k[b]||(b=b.split("-")[0],k[b])){var d=k[b];return
>> a.each(j,function(a,b){b in d&&(c[b]=d[b])}),c}}var
>> e=function(b,c){this._process_options(c),this.element=a(b),this.isInline=!1,this.isInput=this.element.is("input"),this.component=this.element.is(".date")?this.element.find(".add-on,
>> .btn"):!1,this.hasInput=this.component&&this.element.find("input").length,this.component&&0===this.component.length&&(thi!
>>
>> s.component=!1),this.picker=a(l.template),this._buildEvents(),this._att!
>> achEvents(),this.isInline?this.picker.addClass("datepicker-inline").appendTo(this.element):this.picker.addClass("datepicker-dropdown
>> dropdown-menu"),this.o.rtl&&(this.picker.addClass("datepicker-rtl"),this.picker.find(".prev
>> i, .next i").toggleClass("icon-arrow-left
>> icon-arrow-right")),this.viewMode=this.o.startView,this.o.calendarWeeks&&this.picker.find("tfoot
>> th.today").attr("colspan",function(a,b){return
>> parseInt(b)+1}),this._allow_update=!1,this.setStartDate(this.o.startDate),this.setEndDate(this.o.endDate),this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled),this.fillDow(),this.fillMonths(),this._allow_update=!0,this.update(),this.showMode(),this.isInline&&this.show()};e.prototype={constructor:e,_process_options:function(b){this._o=a.extend({},this._o,b);var
>> c=this.o=a.extend({},this._o),d=c.language;switch(k[d]||(d=d.split("-")[0],k[d]||(d=i.language)),c.language=d,c.startView){case
>> 2:case"decade":c.startView=2;break;case
>> 1:case"year":c.startView=1;break;default:c.st!
>> artView=0}switch(c.minViewMode){case
>> 1:case"months":c.minViewMode=1;break;case
>> 2:case"years":c.minViewMode=2;break;default:c.minViewMode=0}c.startView=Math.max(c.startView,c.minViewMode),c.weekStart%=7,c.weekEnd=(c.weekStart+6)%7;var
>> e=l.parseFormat(c.format);c.startDate!==-1/0&&(c.startDate=l.parseDate(c.startDate,e,c.language)),1/0!==c.endDate&&(c.endDate=l.parseDate(c.endDate,e,c.language)),c.daysOfWeekDisabled=c.daysOfWeekDisabled||[],a.isArray(c.daysOfWeekDisabled)||(c.daysOfWeekDisabled=c.daysOfWeekDisabled.split(/[,\s]*/)),c.daysOfWeekDisabled=a.map(c.daysOfWeekDisabled,function(a){return
>> parseInt(a,10)})},_events:[],_secondaryEvents:[],_applyEvents:function(a){for(var
>> b,c,d=0;d<a.length;d++)b=a[d][0],c=a[d][1],b.on(c)},_unapplyEvents:function(a){for(var
>> b,c,d=0;d<a.length;d++)b=a[d][0],c=a[d][1],b.off(c)},_buildEvents:function(){this.isInput?this._events=[[this.element,{focus:a.proxy(this.show,this),keyup:a.proxy(this.update,this),keydown:a.proxy(this.keydown,this)}!
>>
>> ]]:this.component&&this.hasInput?this._events=[[this.element.find("inpu!
>> t"),{focus:a.proxy(this.show,this),keyup:a.proxy(this.update,this),keydown:a.proxy(this.keydown,this)}],[this.component,{click:a.proxy(this.show,this)}]]:this.element.is("div")?this.isInline=!0:this._events=[[this.element,{click:a.proxy(this.show,this)}]],this._secondaryEvents=[[this.picker,{click:a.proxy(this.click,this)}],[a(window),{resize:a.proxy(this.place,this)}],[a(document),{mousedown:a.proxy(function(a){this.element.is(a.target)||this.element.find(a.target).size()||this.picker.is(a.target)||this.picker.find(a.target).size()||this.hide()},this)}]]},_attachEvents:function(){this._detachEvents(),this._applyEvents(this._events)},_detachEvents:function(){this._unapplyEvents(this._events)},_attachSecondaryEvents:function(){this._detachSecondaryEvents(),this._applyEvents(this._secondaryEvents)},_detachSecondaryEvents:function(){this._unapplyEvents(this._secondaryEvents)},_trigger:function(b,c){var
>> d=c||this.date,e=new
>> Date(d.getTime()+6e4*d.getTimezoneOffset());this.eleme!
>> nt.trigger({type:b,date:e,format:a.proxy(function(a){var
>> b=a||this.o.format;return
>> l.formatDate(d,b,this.o.language)},this)})},show:function(a){this.isInline||this.picker.appendTo("body"),this.picker.show(),this.height=this.component?this.component.outerHeight():this.element.outerHeight(),this.place(),this._attachSecondaryEvents(),a&&a.preventDefault(),this._trigger("show")},hide:function(){this.isInline||this.picker.is(":visible")&&(this.picker.hide().detach(),this._detachSecondaryEvents(),this.viewMode=this.o.startView,this.showMode(),this.o.forceParse&&(this.isInput&&this.element.val()||this.hasInput&&this.element.find("input").val())&&this.setValue(),this._trigger("hide"))},remove:function(){this.hide(),this._detachEvents(),this._detachSecondaryEvents(),this.picker.remove(),delete
>> this.element.data().datepicker,this.isInput||delete
>> this.element.data().date},getDate:function(){var
>> a=this.getUTCDate();return new
>> Date(a.getTime()+6e4*a.getTimezoneOffset())},getUTCDate:func!
>> tion(){return this.date},setDate:function(a){this.setUTCDate(new
>> Date(a!
>> .getTime()-6e4*a.getTimezoneOffset()))},setUTCDate:function(a){this.date=a,this.setValue()},setValue:function(){var
>> a=this.getFormattedDate();this.isInput?this.element.val(a):this.component&&this.element.find("input").val(a)},getFormattedDate:function(a){return
>> void
>> 0===a&&(a=this.o.format),l.formatDate(this.date,a,this.o.language)},setStartDate:function(a){this._process_options({startDate:a}),this.update(),this.updateNavArrows()},setEndDate:function(a){this._process_options({endDate:a}),this.update(),this.updateNavArrows()},setDaysOfWeekDisabled:function(a){this._process_options({daysOfWeekDisabled:a}),this.update(),this.updateNavArrows()},place:function(){if(!this.isInline){var
>> b=parseInt(this.element.parents().filter(function(){return"auto"!=a(this).css("z-index")}).first().css("z-index"))+10,c=this.component?this.component.parent().offset():this.element.offset(),d=this.component?this.component.outerHeight(!0):this.element.outerHeight(!0);this.picker.css({top:c.top+d,lef!
>>
>> t:c.left,zIndex:b})}},_allow_update:!0,update:function(){if(this._allow_update){var
>> a,b=!1;arguments&&arguments.length&&("string"==typeof
>> arguments[0]||arguments[0]instanceof
>> Date)?(a=arguments[0],b=!0):(a=this.isInput?this.element.val():this.element.data("date")||this.element.find("input").val(),delete
>> this.element.data().date),this.date=l.parseDate(a,this.o.format,this.o.language),b&&this.setValue(),this.viewDate=this.date<this.o.startDate?new
>> Date(this.o.startDate):this.date>this.o.endDate?new
>> Date(this.o.endDate):new
>> Date(this.date),this.fill()}},fillDow:function(){var
>> a=this.o.weekStart,b="<tr>";if(this.o.calendarWeeks){var c='<th
>> class="cw"> </th>';b+=c,this.picker.find(".datepicker-days thead
>> tr:first-child").prepend(c)}for(;a<this.o.weekStart+7;)b+='<th
>> class="dow">'+k[this.o.language].daysMin[a++%7]+"</th>";b+="</tr>",this.picker.find(".datepicker-days
>> thead").append(b)},fillMonths:function(){for(var
>> a="",b=0;12>b;)a+='<span class="month">'+k[this.o.language].!
>> monthsShort[b++]+"</span>";this.picker.find(".datepicker-months td").ht!
>> ml(a)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return
>> a.valueOf()}):delete
>> this.range,this.fill()},getClassNames:function(b){var
>> c=[],d=this.viewDate.getUTCFullYear(),e=this.viewDate.getUTCMonth(),f=this.date.valueOf(),g=new
>> Date;return
>> b.getUTCFullYear()<d||b.getUTCFullYear()==d&&b.getUTCMonth()<e?c.push("old"):(b.getUTCFullYear()>d||b.getUTCFullYear()==d&&b.getUTCMonth()>e)&&c.push("new"),this.o.todayHighlight&&b.getUTCFullYear()==g.getFullYear()&&b.getUTCMonth()==g.getMonth()&&b.getUTCDate()==g.getDate()&&c.push("today"),f&&b.valueOf()==f&&c.push("active"),(b.valueOf()<this.o.startDate||b.valueOf()>this.o.endDate||-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekDisabled))&&c.push("disabled"),this.range&&(b>this.range[0]&&b<this.range[this.range.length-1]&&c.push("range"),-1!=a.inArray(b.valueOf(),this.range)&&c.push("selected")),c},fill:function(){var
>> c,d=new
>> Date(this.viewDate),e=d.getUTCFullYear(),f=d.getUTCMonth(),g=this.o.startDate!==-1/0?this.o!
>> .startDate.getUTCFullYear():-1/0,h=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,i=1/0!==this.o.endDate?this.o.endDate.getUTCFullYear():1/0,j=1/0!==this.o.endDate?this.o.endDate.getUTCMonth():1/0;this.date&&this.date.valueOf(),this.picker.find(".datepicker-days
>> thead th.datepicker-switch").text(k[this.o.language].months[f]+"
>> "+e),this.picker.find("tfoot
>> th.today").text(k[this.o.language].today).toggle(this.o.todayBtn!==!1),this.picker.find("tfoot
>> th.clear").text(k[this.o.language].clear).toggle(this.o.clearBtn!==!1),this.updateNavArrows(),this.fillMonths();var
>> m=b(e,f-1,28,0,0,0,0),n=l.getDaysInMonth(m.getUTCFullYear(),m.getUTCMonth());m.setUTCDate(n),m.setUTCDate(n-(m.getUTCDay()-this.o.weekStart+7)%7);var
>> o=new Date(m);o.setUTCDate(o.getUTCDate()+42),o=o.valueOf();for(var
>> p,q=[];m.valueOf()<o;){if(m.getUTCDay()==this.o.weekStart&&(q.push("<tr>"),this.o.calendarWeeks)){var
>> r=new Date(+m+864e5*((this.o.weekStart-m.getUTCDay()-7)%7)),s=new
>> Date(+r+864e5*((11-r.!
>> getUTCDay())%7)),t=new
>> Date(+(t=b(s.getUTCFullYear(),0,1))+864e5*((11-t!
>> .getUTCDay())%7)),u=(s-t)/864e5/7+1;q.push('<td
>> class="cw">'+u+"</td>")}p=this.getClassNames(m),p.push("day");var
>> v=this.o.beforeShowDay(m);void 0===v?v={}:"boolean"==typeof
>> v?v={enabled:v}:"string"==typeof
>> v&&(v={classes:v}),v.enabled===!1&&p.push("disabled"),v.classes&&(p=p.concat(v.classes.split(/\s+/))),v.tooltip&&(c=v.tooltip),p=a.unique(p),q.push('<td
>> class="'+p.join(" ")+'"'+(c?'
>> title="'+c+'"':"")+">"+m.getUTCDate()+"</td>"),m.getUTCDay()==this.o.weekEnd&&q.push("</tr>"),m.setUTCDate(m.getUTCDate()+1)}this.picker.find(".datepicker-days
>> tbody").empty().append(q.join(""));var
>> w=this.date&&this.date.getUTCFullYear(),x=this.picker.find(".datepicker-months").find("th:eq(1)").text(e).end().find("span").removeClass("active");w&&w==e&&x.eq(this.date.getUTCMonth()).addClass("active"),(g>e||e>i)&&x.addClass("disabled"),e==g&&x.slice(0,h).addClass("disabled"),e==i&&x.slice(j+1).addClass("disabled"),q="",e=10*parseInt(e/10,10);var
>> y=this.picker.find(".datepicker-years").find("t!
>> h:eq(1)").text(e+"-"+(e+9)).end().find("td");e-=1;for(var
>> z=-1;11>z;z++)q+='<span class="year'+(-1==z?" old":10==z?"
>> new":"")+(w==e?" active":"")+(g>e||e>i?"
>> disabled":"")+'">'+e+"</span>",e+=1;y.html(q)},updateNavArrows:function(){if(this._allow_update){var
>> a=new
>> Date(this.viewDate),b=a.getUTCFullYear(),c=a.getUTCMonth();switch(this.viewMode){case
>> 0:this.o.startDate!==-1/0&&b<=this.o.startDate.getUTCFullYear()&&c<=this.o.startDate.getUTCMonth()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),1/0!==this.o.endDate&&b>=this.o.endDate.getUTCFullYear()&&c>=this.o.endDate.getUTCMonth()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"});break;case
>> 1:case
>> 2:this.o.startDate!==-1/0&&b<=this.o.startDate.getUTCFullYear()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),1/0!==this.o.endDate&&b>=this.o.endDate.getUT!
>> CFullYear()?this.picker.find(".next").css({visibility:"hidden"}):this.p!
>> icker.find(".next").css({visibility:"visible"})}}},click:function(c){c.preventDefault();var
>> d=a(c.target).closest("span, td,
>> th");if(1==d.length)switch(d[0].nodeName.toLowerCase()){case"th":switch(d[0].className){case"datepicker-switch":this.showMode(1);break;case"prev":case"next":var
>> e=l.modes[this.viewMode].navStep*("prev"==d[0].className?-1:1);switch(this.viewMode){case
>> 0:this.viewDate=this.moveMonth(this.viewDate,e);break;case 1:case
>> 2:this.viewDate=this.moveYear(this.viewDate,e)}this.fill();break;case"today":var
>> f=new
>> Date;f=b(f.getFullYear(),f.getMonth(),f.getDate(),0,0,0),this.showMode(-2);var
>> g="linked"==this.o.todayBtn?null:"view";this._setDate(f,g);break;case"clear":var
>> h;this.isInput?h=this.element:this.component&&(h=this.element.find("input")),h&&h.val("").change(),this._trigger("changeDate"),this.update(),this.o.autoclose&&this.hide()}break;case"span":if(!d.is(".disabled")){if(this.viewDate.setUTCDate(1),d.is(".month")){var
>> i=1,j=d.parent().find("span").index(d!
>> ),k=this.viewDate.getUTCFullYear();this.viewDate.setUTCMonth(j),this._trigger("changeMonth",this.viewDate),1===this.o.minViewMode&&this._setDate(b(k,j,i,0,0,0,0))}else{var
>> k=parseInt(d.text(),10)||0,i=1,j=0;this.viewDate.setUTCFullYear(k),this._trigger("changeYear",this.viewDate),2===this.o.minViewMode&&this._setDate(b(k,j,i,0,0,0,0))}this.showMode(-1),this.fill()}break;case"td":if(d.is(".day")&&!d.is(".disabled")){var
>> i=parseInt(d.text(),10)||1,k=this.viewDate.getUTCFullYear(),j=this.viewDate.getUTCMonth();d.is(".old")?0===j?(j=11,k-=1):j-=1:d.is(".new")&&(11==j?(j=0,k+=1):j+=1),this._setDate(b(k,j,i,0,0,0,0))}}},_setDate:function(a,b){b&&"date"!=b||(this.date=new
>> Date(a)),b&&"view"!=b||(this.viewDate=new
>> Date(a)),this.fill(),this.setValue(),this._trigger("changeDate");var
>> c;this.isInput?c=this.element:this.component&&(c=this.element.find("input")),c&&(c.change(),!this.o.autoclose||b&&"date"!=b||this.hide())},moveMonth:function(a,b){if(!b)return
>> a;var c,d,e=new Date(a.valu!
>> eOf()),f=e.getUTCDate(),g=e.getUTCMonth(),h=Math.abs(b);if(b=b>0?1:-1,1!
>> ==h)d=-1==b?function(){return e.getUTCMonth()==g}:function(){return
>> e.getUTCMonth()!=c},c=g+b,e.setUTCMonth(c),(0>c||c>11)&&(c=(c+12)%12);else{for(var
>> i=0;h>i;i++)e=this.moveMonth(e,b);c=e.getUTCMonth(),e.setUTCDate(f),d=function(){return
>> c!=e.getUTCMonth()}}for(;d();)e.setUTCDate(--f),e.setUTCMonth(c);return
>> e},moveYear:function(a,b){return
>> this.moveMonth(a,12*b)},dateWithinRange:function(a){return
>> a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(this.picker.is(":not(:visible)"))return
>> 27==a.keyCode&&this.show(),void 0;var
>> b,c,d,e=!1;switch(a.keyCode){case
>> 27:this.hide(),a.preventDefault();break;case 37:case
>> 39:if(!this.o.keyboardNavigation)break;b=37==a.keyCode?-1:1,a.ctrlKey?(c=this.moveYear(this.date,b),d=this.moveYear(this.viewDate,b)):a.shiftKey?(c=this.moveMonth(this.date,b),d=this.moveMonth(this.viewDate,b)):(c=new
>> Date(this.date),c.setUTCDate(this.date.getUTCDate()+b),d=new
>> Date(this.viewDate),d.setUTCDate(this.viewDate.getUTCDate()+b)),this.dateWithi!
>> nRange(c)&&(this.date=c,this.viewDate=d,this.setValue(),this.update(),a.preventDefault(),e=!0);break;case
>> 38:case
>> 40:if(!this.o.keyboardNavigation)break;b=38==a.keyCode?-1:1,a.ctrlKey?(c=this.moveYear(this.date,b),d=this.moveYear(this.viewDate,b)):a.shiftKey?(c=this.moveMonth(this.date,b),d=this.moveMonth(this.viewDate,b)):(c=new
>> Date(this.date),c.setUTCDate(this.date.getUTCDate()+7*b),d=new
>> Date(this.viewDate),d.setUTCDate(this.viewDate.getUTCDate()+7*b)),this.dateWithinRange(c)&&(this.date=c,this.viewDate=d,this.setValue(),this.update(),a.preventDefault(),e=!0);break;case
>> 13:this.hide(),a.preventDefault();break;case
>> 9:this.hide()}if(e){this._trigger("changeDate");var
>> f;this.isInput?f=this.element:this.component&&(f=this.element.find("input")),f&&f.change()}},showMode:function(a){a&&(this.viewMode=Math.max(this.o.minViewMode,Math.min(2,this.viewMode+a))),this.picker.find(">div").hide().filter(".datepicker-"+l.modes[this.viewMode].clsName).css("display","block"),this.update!
>> NavArrows()}};var
>> f=function(b,c){this.element=a(b),this.inputs=a.map(c!
>> .inputs,function(a){return a.jquery?a[0]:a}),delete
>> c.inputs,a(this.inputs).datepicker(c).bind("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return
>> a(b).data("datepicker")}),this.updateDates()};f.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return
>> a.date}),this.updateRanges()},updateRanges:function(){var
>> b=a.map(this.dates,function(a){return
>> a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},dateUpdated:function(b){var
>> c=a(b.target).data("datepicker"),d=c.getUTCDate(),e=a.inArray(b.target,this.inputs),f=this.inputs.length;if(-1!=e){if(d<this.dates[e])for(;e>=0&&d<this.dates[e];)this.pickers[e--].setUTCDate(d);else
>> if(d>this.dates[e])for(;f>e&&d>this.dates[e];)this.pickers[e++].setUTCDate(d);this.updateDates()}},remove:function(){a.map(this.pickers,function(a){a.remove()}),delete
>> this.element.data().datepicker}};var
>> g=a.fn.datepicker,h=a.fn.datepicker=function(b){var
>> g=Array.apply(null,arg!
>> uments);g.shift();var h;return this.each(function(){var
>> j=a(this),k=j.data("datepicker"),l="object"==typeof b&&b;if(!k){var
>> m=c(this,"date"),n=a.extend({},i,m,l),o=d(n.language),p=a.extend({},i,o,m,l);if(j.is(".input-daterange")||p.inputs){var
>> q={inputs:p.inputs||j.find("input").toArray()};j.data("datepicker",k=new
>> f(this,a.extend(p,q)))}else j.data("datepicker",k=new
>> e(this,p))}return"string"==typeof b&&"function"==typeof
>> k[b]&&(h=k[b].apply(k,g),void 0!==h)?!1:void 0}),void
>> 0!==h?h:this},i=a.fn.datepicker.defaults={autoclose:!1,beforeShowDay:a.noop,calendarWeeks:!1,clearBtn:!1,daysOfWeekDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keyboardNavigation:!0,language:"en",minViewMode:0,rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,weekStart:0},j=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=e;var
>> k=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"!
>>
>> ],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:[!
>> "Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear"}},l={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(a){return
>> 0===a%4&&0!==a%100||0===a%400
>> +},getDaysInMonth:function(a,b){return[31,l.isLeapYear(a)?29:28,31,30,31,30,31,31,30,31,30,31][b]},validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^
>> -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,parseFormat:function(a){var
>> b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw
>> new Error("Invalid date
>> format.");return{separators:b,parts:c}},parseDate:function(c,d,f){if(c instanceof
>> Date)return c;if("string"==typeof
>> d&&(d=l.parseFormat(d)),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(c)){var
>> g,h,i=/([\-+]\d+)([dmwy])/,j=c.match(/([\-+]\d+)([dmwy])/g);c=new
>> Date;for(var
>> m=0;m<j.length;m++)switch(g=i.exec(j[m]),h=parseInt(g[1]),g[2]){case"d":c.setUTCDate(c.getUTCDate()+h);break;case"m":c=e.prototype.moveMonth.call(e.prototype,c,h);break;case"w":c.setUTCDate(c.getUTCDate()+7*h);break;case"y":c=e.prototype.moveYear.call(e.prototype,c,h)}return
>> b(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate(),0,0,0)}var
>> n,o,g,j=c&&c.ma!
>> tch(this.nonpunctuation)||[],c=new
>> Date,p={},q=["yyyy","yy","M","MM","m","mm","d","dd"],r={yyyy:function(a,b){return
>> a.setUTCFullYear(b)},yy:function(a,b){return
>> a.setUTCFullYear(2e3+b)},m:function(a,b){for(b-=1;0>b;)b+=12;for(b%=12,a.setUTCMonth(b);a.getUTCMonth()!=b;)a.setUTCDate(a.getUTCDate()-1);return
>> a},d:function(a,b){return
>> a.setUTCDate(b)}};r.M=r.MM=r.mm=r.m,r.dd=r.d,c=b(c.getFullYear(),c.getMonth(),c.getDate(),0,0,0);var
>> s=d.parts.slice();if(j.length!=s.length&&(s=a(s).filter(function(b,c){return-1!==a.inArray(c,q)}).toArray()),j.length==s.length){for(var
>> m=0,t=s.length;t>m;m++){if(n=parseInt(j[m],10),g=s[m],isNaN(n))switch(g){case"MM":o=a(k[f].months).filter(function(){var
>> a=this.slice(0,j[m].length),b=j[m].slice(0,a.length);return
>> a==b}),n=a.inArray(o[0],k[f].months)+1;break;case"M":o=a(k[f].monthsShort).filter(function(){var
>> a=this.slice(0,j[m].length),b=j[m].slice(0,a.length);return
>> a==b}),n=a.inArray(o[0],k[f].monthsShort)+1}p[g]=n}for(var
>> u,m=0;m<q.length;m+!
>> +)u=q[m],u in p&&!isNaN(p[u])&&r[u](c,p[u])}return
>> c},formatDate:function(b,c,d){"string"==typeof
>> c&&(c=l.parseFormat(c));var
>> e={d:b.getUTCDate(),D:k[d].daysShort[b.getUTCDay()],DD:k[d].days[b.getUTCDay()],m:b.getUTCMonth()+1,M:k[d].monthsShort[b.getUTCMonth()],MM:k[d].months[b.getUTCMonth()],yy:b.getUTCFullYear().toString().substring(2),yyyy:b.getUTCFullYear()};e.dd=(e.d<10?"0":"")+e.d,e.mm=(e.m<10?"0":"")+e.m;for(var
>> b=[],f=a.extend([],c.separators),g=0,h=c.parts.length;h>=g;g++)f.length&&b.push(f.shift()),b.push(e[c.parts[g]]);return
>> b.join("")},headTemplate:'<thead><tr><th class="prev"><i
>> class="icon-arrow-left"/></th><th colspan="5"
>> class="datepicker-switch"></th><th class="next"><i
>> class="icon-arrow-right"/></th></tr></thead>',contTemplate:'<tbody><tr><td
>> colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th
>> colspan="7" class="today"></th></tr><tr><th colspan="7"
>> class="clear"></th></tr></tfoot>'};l.template='<div
>> class="datepicker"><div class="datepicker-days"!
>> ><table class="
>> table-condensed">'+l.headTemplate+"<tbody></tbody>"+l.f!
>> ootTemplate+"</table>"+"</div>"+'<div
>> class="datepicker-months">'+'<table
>> class="table-condensed">'+l.headTemplate+l.contTemplate+l.footTemplate+"</table>"+"</div>"+'<div
>> class="datepicker-years">'+'<table
>> class="table-condensed">'+l.headTemplate+l.contTemplate+l.footTemplate+"</table>"+"</div>"+"</div>",a.fn.datepicker.DPGlobal=l,a.fn.datepicker.noConflict=function(){return
>> a.fn.datepicker=g,this},a(document).on("focus.datepicker.data-api
>> click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var
>> c=a(this);c.data("datepicker")||(b.preventDefault(),h.call(c,"show"))}),a(function(){h.call(a('[data-provide="datepicker-inline"]'))})}(window.jQuery),function(a){"use
>> strict";a.fn.bdatepicker=a.fn.datepicker.noConflict(),a.fn.datepicker||(a.fn.datepicker=a.fn.bdatepicker);var
>> b=function(a){this.init("date",a,b.defaults),this.initPicker(a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{initPicker:function(b,c){this.op!
>>
>> tions.viewformat||(this.options.viewformat=this.options.format),b.datepicker=a.fn.editableutils.tryParseJson(b.datepicker,!0),this.options.datepicker=a.extend({},c.datepicker,b.datepicker,{format:this.options.viewformat}),this.options.datepicker.language=this.options.datepicker.language||"en",this.dpg=a.fn.bdatepicker.DPGlobal,this.parsedFormat=this.dpg.parseFormat(this.options.format),this.parsedViewFormat=this.dpg.parseFormat(this.options.viewformat)},render:function(){this.$input.bdatepicker(this.options.datepicker),this.options.clear&&(this.$clear=a('<a
>> href="#"></a>').html(this.options.clear).click(a.proxy(function(a){a.preventDefault(),a.stopPropagation(),this.clear()},this)),this.$tpl.parent().append(a('<div
>> class="editable-clear">').append(this.$clear)))},value2html:function(a,c){var
>> d=a?this.dpg.formatDate(a,this.parsedViewFormat,this.options.datepicker.language):"";b.superclass.value2html.call(this,d,c)},html2value:function(a){return
>> this.parseDate(a,this.parsedVi!
>> ewFormat)},value2str:function(a){return
>> a?this.dpg.formatDate(a,this.pa!
>> rsedFormat,this.options.datepicker.language):""},str2value:function(a){return
>> this.parseDate(a,this.parsedFormat)},value2submit:function(a){return
>> this.value2str(a)},value2input:function(a){this.$input.bdatepicker("update",a)},input2value:function(){return
>> this.$input.data("datepicker").date},activate:function(){},clear:function(){this.$input.data("datepicker").date=null,this.$input.find(".active").removeClass("active"),this.options.showbuttons||this.$input.closest("form").submit()},autosubmit:function(){this.$input.on("mouseup",".day",function(b){if(!a(b.currentTarget).is(".old")&&!a(b.currentTarget).is(".new")){var
>> c=a(this).closest("form");setTimeout(function(){c.submit()},200)}})},parseDate:function(a,b){var
>> c,d=null;return
>> a&&(d=this.dpg.parseDate(a,b,this.options.datepicker.language),"string"==typeof
>> a&&(c=this.dpg.formatDate(d,b,this.options.datepicker.language),a!==c&&(d=null))),d}}),b.defaults=a.extend({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<div
>> class="!
>> editable-date
>> well"></div>',inputclass:null,format:"yyyy-mm-dd",viewformat:null,datepicker:{weekStart:0,startView:0,minViewMode:0,autoclose:!1},clear:"×
>> clear"}),a.fn.editabletypes.date=b}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a){this.init("datefield",a,b.defaults),this.initPicker(a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.date),a.extend(b.prototype,{render:function(){this.$input=this.$tpl.find("input"),this.setClass(),this.setAttr("placeholder"),this.$tpl.bdatepicker(this.options.datepicker),this.$input.off("focus
>> keydown"),this.$input.keyup(a.proxy(function(){this.$tpl.removeData("date"),this.$tpl.bdatepicker("update")},this))},value2input:function(a){this.$input.val(a?this.dpg.formatDate(a,this.parsedViewFormat,this.options.datepicker.language):""),this.$tpl.bdatepicker("update")},input2value:function(){return
>> this.html2value(this.$input.val())},activate:function(){a.fn.editabletypes.text.prototype.activate.call(this)},autosubmi!
>>
>> t:function(){}}),b.defaults=a.extend({},a.fn.editabletypes.date.default!
>> s,{tpl:'<div class="input-append date"><input type="text"/><span
>> class="add-on"><i
>> class="icon-th"></i></span></div>',inputclass:"input-small",datepicker:{weekStart:0,startView:0,minViewMode:0,autoclose:!0}}),a.fn.editabletypes.datefield=b}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a){this.init("datetime",a,b.defaults),this.initPicker(a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.abstractinput),a.extend(b.prototype,{initPicker:function(b,c){this.options.viewformat||(this.options.viewformat=this.options.format),b.datetimepicker=a.fn.editableutils.tryParseJson(b.datetimepicker,!0),this.options.datetimepicker=a.extend({},c.datetimepicker,b.datetimepicker,{format:this.options.viewformat}),this.options.datetimepicker.language=this.options.datetimepicker.language||"en",this.dpg=a.fn.datetimepicker.DPGlobal,this.parsedFormat=this.dpg.parseFormat(this.options.format,this.options.formatType),this.parsedViewFormat=this.dpg.parseFormat(this.options.viewfo!
>> rmat,this.options.formatType)},render:function(){this.$input.datetimepicker(this.options.datetimepicker),this.$input.on("changeMode",function(){var
>> b=a(this).closest("form").parent();setTimeout(function(){b.triggerHandler("resize")},0)}),this.options.clear&&(this.$clear=a('<a
>> href="#"></a>').html(this.options.clear).click(a.proxy(function(a){a.preventDefault(),a.stopPropagation(),this.clear()},this)),this.$tpl.parent().append(a('<div
>> class="editable-clear">').append(this.$clear)))},value2html:function(a,c){var
>> d=a?this.dpg.formatDate(this.toUTC(a),this.parsedViewFormat,this.options.datetimepicker.language,this.options.formatType):"";return
>> c?(b.superclass.value2html.call(this,d,c),void
>> 0):d},html2value:function(a){var
>> b=this.parseDate(a,this.parsedViewFormat);return
>> b?this.fromUTC(b):null},value2str:function(a){return
>> a?this.dpg.formatDate(this.toUTC(a),this.parsedFormat,this.options.datetimepicker.language,this.options.formatType):""},str2value:function(a){var
>> b=this.parse!
>> Date(a,this.parsedFormat);return
>> b?this.fromUTC(b):null},value2submit:f!
>> unction(a){return
>> this.value2str(a)},value2input:function(a){a&&this.$input.data("datetimepicker").setDate(a)},input2value:function(){var
>> a=this.$input.data("datetimepicker");return
>> a.date?a.getDate():null},activate:function(){},clear:function(){this.$input.data("datetimepicker").date=null,this.$input.find(".active").removeClass("active"),this.options.showbuttons||this.$input.closest("form").submit()},autosubmit:function(){this.$input.on("mouseup",".minute",function(){var
>> b=a(this).closest("form");setTimeout(function(){b.submit()},200)})},toUTC:function(a){return
>> a?new
>> Date(a.valueOf()-6e4*a.getTimezoneOffset()):a},fromUTC:function(a){return
>> a?new
>> Date(a.valueOf()+6e4*a.getTimezoneOffset()):a},parseDate:function(a,b){var
>> c,d=null;return
>> a&&(d=this.dpg.parseDate(a,b,this.options.datetimepicker.language,this.options.formatType),"string"==typeof
>> a&&(c=this.dpg.formatDate(d,b,this.options.datetimepicker.language,this.options.formatType),a!==c&&(d=null))),d}}),b.defaults=a.exten!
>>
>> d({},a.fn.editabletypes.abstractinput.defaults,{tpl:'<div
>> class="editable-date well"></div>',inputclass:null,format:"yyyy-mm-dd
>> hh:ii",formatType:"standard",viewformat:null,datetimepicker:{todayHighlight:!1,autoclose:!1},clear:"×
>> clear"}),a.fn.editabletypes.datetime=b}(window.jQuery),function(a){"use
>> strict";var
>> b=function(a){this.init("datetimefield",a,b.defaults),this.initPicker(a,b.defaults)};a.fn.editableutils.inherit(b,a.fn.editabletypes.datetime),a.extend(b.prototype,{render:function(){this.$input=this.$tpl.find("input"),this.setClass(),this.setAttr("placeholder"),this.$tpl.datetimepicker(this.options.datetimepicker),this.$input.off("focus
>> keydown"),this.$input.keyup(a.proxy(function(){this.$tpl.removeData("date"),this.$tpl.datetimepicker("update")},this))},value2input:function(a){this.$input.val(this.value2html(a)),this.$tpl.datetimepicker("update")},input2value:function(){return
>> this.html2value(this.$input.val())},activate:function(){a.fn.editabletypes.text.pr!
>>
>> ototype.activate.call(this)},autosubmit:function(){}}),b.defaults=a.ext!
>> end({},a.fn.editabletypes.datetime.defaults,{tpl:'<div
>> class="input-append date"><input type="text"/><span class="add-on"><i
>> class="icon-th"></i></span></div>',inputclass:"input-medium",datetimepicker:{todayHighlight:!1,autoclose:!0}}),a.fn.editabletypes.datetimefield=b}(window.jQuery);
>> \ No newline at end of file
>> diff --git a/ui/pages/wok-ui.html.tmpl b/ui/pages/wok-ui.html.tmpl
>> index eb0208b..cb42358 100644
>> --- a/ui/pages/wok-ui.html.tmpl
>> +++ b/ui/pages/wok-ui.html.tmpl
>> @@ -56,6 +56,7 @@
>> <link rel="stylesheet"
>> href="$href('libs/bootstrap-select/dist/css/bootstrap-select.min.css')">
>> <link rel="stylesheet"
>> href="$href('libs/jquery-bootgrid/dist/css/jquery.bootgrid.min.css')">
>> <link rel="stylesheet"
>> href="$href('libs/bootstrap-switch/dist/css/bootstrap-switch.min.css')">
>> + <link rel="stylesheet"
>> href="$href('libs/bootstrap-editable/dist/css/bootstrap-editable.css')">
>> <link rel="stylesheet"
>> href="$href('css/fontawesome/fontawesome.css')">
>> <link rel="stylesheet" href="$href('css/opensans/opensans.css')">
>> <link rel="stylesheet"
>> href="$href('css/bootstrap-select.custom.css')">
>> @@ -70,6 +71,7 @@
>> <script
>> src="$href('libs/bootstrap-select/dist/js/bootstrap-select.min.js')"></script>
>> <script
>> src="$href('libs/jquery-bootgrid/dist/js/jquery.bootgrid.min.js')"></script>
>> <script
>> src="$href('libs/bootstrap-switch/dist/js/bootstrap-switch.min.js')"></script>
>> + <script
>> src="$href('libs/bootstrap-editable/dist/js/bootstrap-editable.min.js')"></script>
>> <script src="$href('base64/jquery.base64.js')"></script>
>> <script src="$href('js/wok.min.js')"></script>
>> <!-- This is used for detecting if the UI needs to be built -->
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20151223/467f0530/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ghffgbff.png
Type: image/png
Size: 5432 bytes
Desc: not available
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20151223/467f0530/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bedgieai.png
Type: image/png
Size: 11201 bytes
Desc: not available
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20151223/467f0530/attachment-0001.png>
More information about the Kimchi-devel
mailing list