diff --git a/archilance/views.py b/archilance/views.py index 3b1fbb4..28aedad 100644 --- a/archilance/views.py +++ b/archilance/views.py @@ -1,4 +1,4 @@ from django.views.generic import TemplateView class HomeTemplateView(TemplateView): - template_name = "archilance/home.html" \ No newline at end of file + template_name = 'home.html' diff --git a/assets/lib/bootstrap-select/css/bootstrap-select.css b/assets/lib/bootstrap-select/css/bootstrap-select.css new file mode 100644 index 0000000..e6c996c --- /dev/null +++ b/assets/lib/bootstrap-select/css/bootstrap-select.css @@ -0,0 +1,288 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +select.bs-select-hidden, +select.selectpicker { + display: none !important; +} +.bootstrap-select { + width: 220px \0; + /*IE9 and below*/ +} +.bootstrap-select > .dropdown-toggle { + width: 100%; + padding-right: 25px; + z-index: 1; +} +.bootstrap-select > .dropdown-toggle.bs-placeholder, +.bootstrap-select > .dropdown-toggle.bs-placeholder:hover, +.bootstrap-select > .dropdown-toggle.bs-placeholder:focus, +.bootstrap-select > .dropdown-toggle.bs-placeholder:active { + color: #999; +} +.bootstrap-select > select { + position: absolute !important; + bottom: 0; + left: 50%; + display: block !important; + width: 0.5px !important; + height: 100% !important; + padding: 0 !important; + opacity: 0 !important; + border: none; +} +.bootstrap-select > select.mobile-device { + top: 0; + left: 0; + display: block !important; + width: 100% !important; + z-index: 2; +} +.has-error .bootstrap-select .dropdown-toggle, +.error .bootstrap-select .dropdown-toggle { + border-color: #b94a48; +} +.bootstrap-select.fit-width { + width: auto !important; +} +.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) { + width: 220px; +} +.bootstrap-select .dropdown-toggle:focus { + outline: thin dotted #333333 !important; + outline: 5px auto -webkit-focus-ring-color !important; + outline-offset: -2px; +} +.bootstrap-select.form-control { + margin-bottom: 0; + padding: 0; + border: none; +} +.bootstrap-select.form-control:not([class*="col-"]) { + width: 100%; +} +.bootstrap-select.form-control.input-group-btn { + z-index: auto; +} +.bootstrap-select.btn-group:not(.input-group-btn), +.bootstrap-select.btn-group[class*="col-"] { + float: none; + display: inline-block; + margin-left: 0; +} +.bootstrap-select.btn-group.dropdown-menu-right, +.bootstrap-select.btn-group[class*="col-"].dropdown-menu-right, +.row .bootstrap-select.btn-group[class*="col-"].dropdown-menu-right { + float: right; +} +.form-inline .bootstrap-select.btn-group, +.form-horizontal .bootstrap-select.btn-group, +.form-group .bootstrap-select.btn-group { + margin-bottom: 0; +} +.form-group-lg .bootstrap-select.btn-group.form-control, +.form-group-sm .bootstrap-select.btn-group.form-control { + padding: 0; +} +.form-inline .bootstrap-select.btn-group .form-control { + width: 100%; +} +.bootstrap-select.btn-group.disabled, +.bootstrap-select.btn-group > .disabled { + cursor: not-allowed; +} +.bootstrap-select.btn-group.disabled:focus, +.bootstrap-select.btn-group > .disabled:focus { + outline: none !important; +} +.bootstrap-select.btn-group.bs-container { + position: absolute; +} +.bootstrap-select.btn-group.bs-container .dropdown-menu { + z-index: 1060; +} +.bootstrap-select.btn-group .dropdown-toggle .filter-option { + display: inline-block; + overflow: hidden; + width: 100%; + text-align: left; +} +.bootstrap-select.btn-group .dropdown-toggle .caret { + position: absolute; + top: 50%; + right: 12px; + margin-top: -2px; + vertical-align: middle; +} +.bootstrap-select.btn-group[class*="col-"] .dropdown-toggle { + width: 100%; +} +.bootstrap-select.btn-group .dropdown-menu { + min-width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.bootstrap-select.btn-group .dropdown-menu.inner { + position: static; + float: none; + border: 0; + padding: 0; + margin: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; +} +.bootstrap-select.btn-group .dropdown-menu li { + position: relative; +} +.bootstrap-select.btn-group .dropdown-menu li.active small { + color: #fff; +} +.bootstrap-select.btn-group .dropdown-menu li.disabled a { + cursor: not-allowed; +} +.bootstrap-select.btn-group .dropdown-menu li a { + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.bootstrap-select.btn-group .dropdown-menu li a.opt { + position: relative; + padding-left: 2.25em; +} +.bootstrap-select.btn-group .dropdown-menu li a span.check-mark { + display: none; +} +.bootstrap-select.btn-group .dropdown-menu li a span.text { + display: inline-block; +} +.bootstrap-select.btn-group .dropdown-menu li small { + padding-left: 0.5em; +} +.bootstrap-select.btn-group .dropdown-menu .notify { + position: absolute; + bottom: 5px; + width: 96%; + margin: 0 2%; + min-height: 26px; + padding: 3px 5px; + background: #f5f5f5; + border: 1px solid #e3e3e3; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + pointer-events: none; + opacity: 0.9; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.bootstrap-select.btn-group .no-results { + padding: 3px; + background: #f5f5f5; + margin: 0 5px; + white-space: nowrap; +} +.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option { + position: static; +} +.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret { + position: static; + top: auto; + margin-top: -1px; +} +.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark { + position: absolute; + display: inline-block; + right: 15px; + margin-top: 5px; +} +.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text { + margin-right: 34px; +} +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle { + z-index: 1061; +} +.bootstrap-select.show-menu-arrow .dropdown-toggle:before { + content: ''; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid rgba(204, 204, 204, 0.2); + position: absolute; + bottom: -4px; + left: 9px; + display: none; +} +.bootstrap-select.show-menu-arrow .dropdown-toggle:after { + content: ''; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + position: absolute; + bottom: -4px; + left: 10px; + display: none; +} +.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before { + bottom: auto; + top: -3px; + border-top: 7px solid rgba(204, 204, 204, 0.2); + border-bottom: 0; +} +.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after { + bottom: auto; + top: -3px; + border-top: 6px solid white; + border-bottom: 0; +} +.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before { + right: 12px; + left: auto; +} +.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after { + right: 13px; + left: auto; +} +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before, +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after { + display: block; +} +.bs-searchbox, +.bs-actionsbox, +.bs-donebutton { + padding: 4px 8px; +} +.bs-actionsbox { + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.bs-actionsbox .btn-group button { + width: 50%; +} +.bs-donebutton { + float: left; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.bs-donebutton .btn-group button { + width: 100%; +} +.bs-searchbox + .bs-actionsbox { + padding: 0 8px 4px; +} +.bs-searchbox .form-control { + margin-bottom: 0; + width: 100%; + float: none; +} +/*# sourceMappingURL=bootstrap-select.css.map */ \ No newline at end of file diff --git a/assets/lib/bootstrap-select/css/bootstrap-select.css.map b/assets/lib/bootstrap-select/css/bootstrap-select.css.map new file mode 100644 index 0000000..ceb5d33 --- /dev/null +++ b/assets/lib/bootstrap-select/css/bootstrap-select.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/bootstrap-select.less","bootstrap-select.css"],"names":[],"mappings":"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","file":"bootstrap-select.css","sourcesContent":["@import \"variables\";\n\n// Mixins\n.cursor-disabled() {\n cursor: not-allowed;\n}\n\n// Rules\nselect.bs-select-hidden,\nselect.selectpicker {\n display: none !important;\n}\n\n.bootstrap-select {\n width: 220px \\0; /*IE9 and below*/\n\n // The selectpicker button\n > .dropdown-toggle {\n width: 100%;\n padding-right: 25px;\n z-index: 1;\n\n &.bs-placeholder,\n &.bs-placeholder:hover,\n &.bs-placeholder:focus,\n &.bs-placeholder:active { color: @input-color-placeholder; }\n }\n\n > select {\n position: absolute !important;\n bottom: 0;\n left: 50%;\n display: block !important;\n width: 0.5px !important;\n height: 100% !important;\n padding: 0 !important;\n opacity: 0 !important;\n border: none;\n\n &.mobile-device {\n top: 0;\n left: 0;\n display: block !important;\n width: 100% !important;\n z-index: 2;\n }\n }\n\n // Error display\n .has-error & .dropdown-toggle,\n .error & .dropdown-toggle {\n border-color: @color-red-error;\n }\n\n &.fit-width {\n width: auto !important;\n }\n\n &:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: @width-default;\n }\n\n .dropdown-toggle:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n }\n}\n\n.bootstrap-select.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n\n &:not([class*=\"col-\"]) {\n width: 100%;\n }\n\n &.input-group-btn {\n z-index: auto;\n }\n}\n\n// The selectpicker components\n.bootstrap-select.btn-group {\n &:not(.input-group-btn),\n &[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n }\n\n // Forces the pull to the right, if necessary\n &,\n &[class*=\"col-\"],\n .row &[class*=\"col-\"] {\n &.dropdown-menu-right {\n float: right;\n }\n }\n\n .form-inline &,\n .form-horizontal &,\n .form-group & {\n margin-bottom: 0;\n }\n\n .form-group-lg &.form-control,\n .form-group-sm &.form-control {\n padding: 0;\n }\n\n // Set the width of the live search (and any other form control within an inline form)\n // see https://github.com/silviomoreto/bootstrap-select/issues/685\n .form-inline & .form-control {\n width: 100%;\n }\n\n &.disabled,\n > .disabled {\n .cursor-disabled();\n\n &:focus {\n outline: none !important;\n }\n }\n\n &.bs-container {\n position: absolute;\n \n .dropdown-menu {\n z-index: @zindex-select-dropdown;\n }\n }\n\n // The selectpicker button\n .dropdown-toggle {\n .filter-option {\n display: inline-block;\n overflow: hidden;\n width: 100%;\n text-align: left;\n }\n\n .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n }\n }\n\n &[class*=\"col-\"] .dropdown-toggle {\n width: 100%;\n }\n\n // The selectpicker dropdown\n .dropdown-menu {\n min-width: 100%;\n box-sizing: border-box;\n\n &.inner {\n position: static;\n float: none;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n }\n\n li {\n position: relative;\n\n &.active small {\n color: #fff;\n }\n\n &.disabled a {\n .cursor-disabled();\n }\n\n a {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n &.opt {\n position: relative;\n padding-left: 2.25em;\n }\n\n span.check-mark {\n display: none;\n }\n\n span.text {\n display: inline-block;\n }\n }\n\n small {\n padding-left: 0.5em;\n }\n }\n\n .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: rgb(245, 245, 245);\n border: 1px solid rgb(227, 227, 227);\n box-shadow: inset 0 1px 1px fade(rgb(0, 0, 0), 5%);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n }\n }\n\n .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n white-space: nowrap;\n }\n\n &.fit-width .dropdown-toggle {\n .filter-option {\n position: static;\n }\n\n .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n }\n }\n\n &.show-tick .dropdown-menu li {\n &.selected a span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n margin-top: 5px;\n }\n\n a span.text {\n margin-right: 34px;\n }\n }\n}\n\n.bootstrap-select.show-menu-arrow {\n &.open > .dropdown-toggle {\n z-index: (@zindex-select-dropdown + 1);\n }\n\n .dropdown-toggle {\n &:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid @color-grey-arrow;\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n }\n\n &:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n }\n }\n\n &.dropup .dropdown-toggle {\n &:before {\n bottom: auto;\n top: -3px;\n border-top: 7px solid @color-grey-arrow;\n border-bottom: 0;\n }\n\n &:after {\n bottom: auto;\n top: -3px;\n border-top: 6px solid white;\n border-bottom: 0;\n }\n }\n\n &.pull-right .dropdown-toggle {\n &:before {\n right: 12px;\n left: auto;\n }\n\n &:after {\n right: 13px;\n left: auto;\n }\n }\n\n &.open > .dropdown-toggle {\n &:before,\n &:after {\n display: block;\n }\n }\n}\n\n.bs-searchbox,\n.bs-actionsbox,\n.bs-donebutton {\n padding: 4px 8px;\n}\n\n.bs-actionsbox {\n width: 100%;\n box-sizing: border-box;\n\n & .btn-group button {\n width: 50%;\n }\n}\n\n.bs-donebutton {\n float: left;\n width: 100%;\n box-sizing: border-box;\n\n & .btn-group button {\n width: 100%;\n }\n}\n\n.bs-searchbox {\n & + .bs-actionsbox {\n padding: 0 8px 4px;\n }\n\n & .form-control {\n margin-bottom: 0;\n width: 100%;\n float: none;\n }\n}\n","select.bs-select-hidden,\nselect.selectpicker {\n display: none !important;\n}\n.bootstrap-select {\n width: 220px \\0;\n /*IE9 and below*/\n}\n.bootstrap-select > .dropdown-toggle {\n width: 100%;\n padding-right: 25px;\n z-index: 1;\n}\n.bootstrap-select > .dropdown-toggle.bs-placeholder,\n.bootstrap-select > .dropdown-toggle.bs-placeholder:hover,\n.bootstrap-select > .dropdown-toggle.bs-placeholder:focus,\n.bootstrap-select > .dropdown-toggle.bs-placeholder:active {\n color: #999;\n}\n.bootstrap-select > select {\n position: absolute !important;\n bottom: 0;\n left: 50%;\n display: block !important;\n width: 0.5px !important;\n height: 100% !important;\n padding: 0 !important;\n opacity: 0 !important;\n border: none;\n}\n.bootstrap-select > select.mobile-device {\n top: 0;\n left: 0;\n display: block !important;\n width: 100% !important;\n z-index: 2;\n}\n.has-error .bootstrap-select .dropdown-toggle,\n.error .bootstrap-select .dropdown-toggle {\n border-color: #b94a48;\n}\n.bootstrap-select.fit-width {\n width: auto !important;\n}\n.bootstrap-select:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: 220px;\n}\n.bootstrap-select .dropdown-toggle:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n}\n.bootstrap-select.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n}\n.bootstrap-select.form-control:not([class*=\"col-\"]) {\n width: 100%;\n}\n.bootstrap-select.form-control.input-group-btn {\n z-index: auto;\n}\n.bootstrap-select.btn-group:not(.input-group-btn),\n.bootstrap-select.btn-group[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n}\n.bootstrap-select.btn-group.dropdown-menu-right,\n.bootstrap-select.btn-group[class*=\"col-\"].dropdown-menu-right,\n.row .bootstrap-select.btn-group[class*=\"col-\"].dropdown-menu-right {\n float: right;\n}\n.form-inline .bootstrap-select.btn-group,\n.form-horizontal .bootstrap-select.btn-group,\n.form-group .bootstrap-select.btn-group {\n margin-bottom: 0;\n}\n.form-group-lg .bootstrap-select.btn-group.form-control,\n.form-group-sm .bootstrap-select.btn-group.form-control {\n padding: 0;\n}\n.form-inline .bootstrap-select.btn-group .form-control {\n width: 100%;\n}\n.bootstrap-select.btn-group.disabled,\n.bootstrap-select.btn-group > .disabled {\n cursor: not-allowed;\n}\n.bootstrap-select.btn-group.disabled:focus,\n.bootstrap-select.btn-group > .disabled:focus {\n outline: none !important;\n}\n.bootstrap-select.btn-group.bs-container {\n position: absolute;\n}\n.bootstrap-select.btn-group.bs-container .dropdown-menu {\n z-index: 1060;\n}\n.bootstrap-select.btn-group .dropdown-toggle .filter-option {\n display: inline-block;\n overflow: hidden;\n width: 100%;\n text-align: left;\n}\n.bootstrap-select.btn-group .dropdown-toggle .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n}\n.bootstrap-select.btn-group[class*=\"col-\"] .dropdown-toggle {\n width: 100%;\n}\n.bootstrap-select.btn-group .dropdown-menu {\n min-width: 100%;\n box-sizing: border-box;\n}\n.bootstrap-select.btn-group .dropdown-menu.inner {\n position: static;\n float: none;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n}\n.bootstrap-select.btn-group .dropdown-menu li {\n position: relative;\n}\n.bootstrap-select.btn-group .dropdown-menu li.active small {\n color: #fff;\n}\n.bootstrap-select.btn-group .dropdown-menu li.disabled a {\n cursor: not-allowed;\n}\n.bootstrap-select.btn-group .dropdown-menu li a {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.bootstrap-select.btn-group .dropdown-menu li a.opt {\n position: relative;\n padding-left: 2.25em;\n}\n.bootstrap-select.btn-group .dropdown-menu li a span.check-mark {\n display: none;\n}\n.bootstrap-select.btn-group .dropdown-menu li a span.text {\n display: inline-block;\n}\n.bootstrap-select.btn-group .dropdown-menu li small {\n padding-left: 0.5em;\n}\n.bootstrap-select.btn-group .dropdown-menu .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: #f5f5f5;\n border: 1px solid #e3e3e3;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n}\n.bootstrap-select.btn-group .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n white-space: nowrap;\n}\n.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option {\n position: static;\n}\n.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n}\n.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n margin-top: 5px;\n}\n.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {\n margin-right: 34px;\n}\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle {\n z-index: 1061;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid rgba(204, 204, 204, 0.2);\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before {\n bottom: auto;\n top: -3px;\n border-top: 7px solid rgba(204, 204, 204, 0.2);\n border-bottom: 0;\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {\n bottom: auto;\n top: -3px;\n border-top: 6px solid white;\n border-bottom: 0;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before {\n right: 12px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after {\n right: 13px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before,\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {\n display: block;\n}\n.bs-searchbox,\n.bs-actionsbox,\n.bs-donebutton {\n padding: 4px 8px;\n}\n.bs-actionsbox {\n width: 100%;\n box-sizing: border-box;\n}\n.bs-actionsbox .btn-group button {\n width: 50%;\n}\n.bs-donebutton {\n float: left;\n width: 100%;\n box-sizing: border-box;\n}\n.bs-donebutton .btn-group button {\n width: 100%;\n}\n.bs-searchbox + .bs-actionsbox {\n padding: 0 8px 4px;\n}\n.bs-searchbox .form-control {\n margin-bottom: 0;\n width: 100%;\n float: none;\n}\n/*# sourceMappingURL=bootstrap-select.css.map */"]} \ No newline at end of file diff --git a/assets/lib/bootstrap-select/css/bootstrap-select.min.css b/assets/lib/bootstrap-select/css/bootstrap-select.min.css new file mode 100644 index 0000000..a331532 --- /dev/null +++ b/assets/lib/bootstrap-select/css/bootstrap-select.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px\9}.bootstrap-select>.dropdown-toggle{width:100%;padding-right:25px;z-index:1}.bootstrap-select>.dropdown-toggle.bs-placeholder,.bootstrap-select>.dropdown-toggle.bs-placeholder:active,.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder:hover{color:#999}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:none}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2}.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .dropdown-toggle:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{z-index:auto}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group.disabled:focus,.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group.bs-container{position:absolute}.bootstrap-select.btn-group.bs-container .dropdown-menu{z-index:1060}.bootstrap-select.btn-group .dropdown-toggle .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li.active small{color:#fff}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option{position:static}.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none} \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/bootstrap-select.js b/assets/lib/bootstrap-select/js/bootstrap-select.js new file mode 100644 index 0000000..253a54b --- /dev/null +++ b/assets/lib/bootstrap-select/js/bootstrap-select.js @@ -0,0 +1,1843 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + 'use strict'; + + // + if (!String.prototype.includes) { + (function () { + 'use strict'; // needed to support `apply`/`call` with `undefined`/`null` + var toString = {}.toString; + var defineProperty = (function () { + // IE 8 only supports `Object.defineProperty` on DOM elements + try { + var object = {}; + var $defineProperty = Object.defineProperty; + var result = $defineProperty(object, object, object) && $defineProperty; + } catch (error) { + } + return result; + }()); + var indexOf = ''.indexOf; + var includes = function (search) { + if (this == null) { + throw new TypeError(); + } + var string = String(this); + if (search && toString.call(search) == '[object RegExp]') { + throw new TypeError(); + } + var stringLength = string.length; + var searchString = String(search); + var searchLength = searchString.length; + var position = arguments.length > 1 ? arguments[1] : undefined; + // `ToInteger` + var pos = position ? Number(position) : 0; + if (pos != pos) { // better `isNaN` + pos = 0; + } + var start = Math.min(Math.max(pos, 0), stringLength); + // Avoid the `indexOf` call if no match is possible + if (searchLength + start > stringLength) { + return false; + } + return indexOf.call(string, searchString, pos) != -1; + }; + if (defineProperty) { + defineProperty(String.prototype, 'includes', { + 'value': includes, + 'configurable': true, + 'writable': true + }); + } else { + String.prototype.includes = includes; + } + }()); + } + + if (!String.prototype.startsWith) { + (function () { + 'use strict'; // needed to support `apply`/`call` with `undefined`/`null` + var defineProperty = (function () { + // IE 8 only supports `Object.defineProperty` on DOM elements + try { + var object = {}; + var $defineProperty = Object.defineProperty; + var result = $defineProperty(object, object, object) && $defineProperty; + } catch (error) { + } + return result; + }()); + var toString = {}.toString; + var startsWith = function (search) { + if (this == null) { + throw new TypeError(); + } + var string = String(this); + if (search && toString.call(search) == '[object RegExp]') { + throw new TypeError(); + } + var stringLength = string.length; + var searchString = String(search); + var searchLength = searchString.length; + var position = arguments.length > 1 ? arguments[1] : undefined; + // `ToInteger` + var pos = position ? Number(position) : 0; + if (pos != pos) { // better `isNaN` + pos = 0; + } + var start = Math.min(Math.max(pos, 0), stringLength); + // Avoid the `indexOf` call if no match is possible + if (searchLength + start > stringLength) { + return false; + } + var index = -1; + while (++index < searchLength) { + if (string.charCodeAt(start + index) != searchString.charCodeAt(index)) { + return false; + } + } + return true; + }; + if (defineProperty) { + defineProperty(String.prototype, 'startsWith', { + 'value': startsWith, + 'configurable': true, + 'writable': true + }); + } else { + String.prototype.startsWith = startsWith; + } + }()); + } + + if (!Object.keys) { + Object.keys = function ( + o, // object + k, // key + r // result array + ){ + // initialize object and result + r=[]; + // iterate over object keys + for (k in o) + // fill result array with non-prototypical keys + r.hasOwnProperty.call(o, k) && r.push(k); + // return result + return r; + }; + } + + $.fn.triggerNative = function (eventName) { + var el = this[0], + event; + + if (el.dispatchEvent) { + if (typeof Event === 'function') { + // For modern browsers + event = new Event(eventName, { + bubbles: true + }); + } else { + // For IE since it doesn't support Event constructor + event = document.createEvent('Event'); + event.initEvent(eventName, true, false); + } + + el.dispatchEvent(event); + } else { + if (el.fireEvent) { + event = document.createEventObject(); + event.eventType = eventName; + el.fireEvent('on' + eventName, event); + } + + this.trigger(eventName); + } + }; + // + + // Case insensitive contains search + $.expr[':'].icontains = function (obj, index, meta) { + var $obj = $(obj); + var haystack = ($obj.data('tokens') || $obj.text()).toString().toUpperCase(); + return haystack.includes(meta[3].toUpperCase()); + }; + + // Case insensitive begins search + $.expr[':'].ibegins = function (obj, index, meta) { + var $obj = $(obj); + var haystack = ($obj.data('tokens') || $obj.text()).toString().toUpperCase(); + return haystack.startsWith(meta[3].toUpperCase()); + }; + + // Case and accent insensitive contains search + $.expr[':'].aicontains = function (obj, index, meta) { + var $obj = $(obj); + var haystack = ($obj.data('tokens') || $obj.data('normalizedText') || $obj.text()).toString().toUpperCase(); + return haystack.includes(meta[3].toUpperCase()); + }; + + // Case and accent insensitive begins search + $.expr[':'].aibegins = function (obj, index, meta) { + var $obj = $(obj); + var haystack = ($obj.data('tokens') || $obj.data('normalizedText') || $obj.text()).toString().toUpperCase(); + return haystack.startsWith(meta[3].toUpperCase()); + }; + + /** + * Remove all diatrics from the given text. + * @access private + * @param {String} text + * @returns {String} + */ + function normalizeToBase(text) { + var rExps = [ + {re: /[\xC0-\xC6]/g, ch: "A"}, + {re: /[\xE0-\xE6]/g, ch: "a"}, + {re: /[\xC8-\xCB]/g, ch: "E"}, + {re: /[\xE8-\xEB]/g, ch: "e"}, + {re: /[\xCC-\xCF]/g, ch: "I"}, + {re: /[\xEC-\xEF]/g, ch: "i"}, + {re: /[\xD2-\xD6]/g, ch: "O"}, + {re: /[\xF2-\xF6]/g, ch: "o"}, + {re: /[\xD9-\xDC]/g, ch: "U"}, + {re: /[\xF9-\xFC]/g, ch: "u"}, + {re: /[\xC7-\xE7]/g, ch: "c"}, + {re: /[\xD1]/g, ch: "N"}, + {re: /[\xF1]/g, ch: "n"} + ]; + $.each(rExps, function () { + text = text.replace(this.re, this.ch); + }); + return text; + } + + + function htmlEscape(html) { + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + var source = '(?:' + Object.keys(escapeMap).join('|') + ')', + testRegexp = new RegExp(source), + replaceRegexp = new RegExp(source, 'g'), + string = html == null ? '' : '' + html; + return testRegexp.test(string) ? string.replace(replaceRegexp, function (match) { + return escapeMap[match]; + }) : string; + } + + var Selectpicker = function (element, options, e) { + if (e) { + e.stopPropagation(); + e.preventDefault(); + } + + this.$element = $(element); + this.$newElement = null; + this.$button = null; + this.$menu = null; + this.$lis = null; + this.options = options; + + // If we have no title yet, try to pull it from the html title attribute (jQuery doesnt' pick it up as it's not a + // data-attribute) + if (this.options.title === null) { + this.options.title = this.$element.attr('title'); + } + + //Expose public methods + this.val = Selectpicker.prototype.val; + this.render = Selectpicker.prototype.render; + this.refresh = Selectpicker.prototype.refresh; + this.setStyle = Selectpicker.prototype.setStyle; + this.selectAll = Selectpicker.prototype.selectAll; + this.deselectAll = Selectpicker.prototype.deselectAll; + this.destroy = Selectpicker.prototype.destroy; + this.remove = Selectpicker.prototype.remove; + this.show = Selectpicker.prototype.show; + this.hide = Selectpicker.prototype.hide; + + this.init(); + }; + + Selectpicker.VERSION = '1.10.0'; + + // part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both. + Selectpicker.DEFAULTS = { + noneSelectedText: 'Nothing selected', + noneResultsText: 'No results matched {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} item selected" : "{0} items selected"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)', + (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)' + ]; + }, + selectAllText: 'Select All', + deselectAllText: 'Deselect All', + doneButton: false, + doneButtonText: 'Close', + multipleSeparator: ', ', + styleBase: 'btn', + style: 'btn-default', + size: 'auto', + title: null, + selectedTextFormat: 'values', + width: false, + container: false, + hideDisabled: false, + showSubtext: false, + showIcon: true, + showContent: true, + dropupAuto: true, + header: false, + liveSearch: false, + liveSearchPlaceholder: null, + liveSearchNormalize: false, + liveSearchStyle: 'contains', + actionsBox: false, + iconBase: 'glyphicon', + tickIcon: 'glyphicon-ok', + showTick: false, + template: { + caret: '' + }, + maxOptions: false, + mobile: false, + selectOnTab: false, + dropdownAlignRight: false + }; + + Selectpicker.prototype = { + + constructor: Selectpicker, + + init: function () { + var that = this, + id = this.$element.attr('id'); + + this.$element.addClass('bs-select-hidden'); + + // store originalIndex (key) and newIndex (value) in this.liObj for fast accessibility + // allows us to do this.$lis.eq(that.liObj[index]) instead of this.$lis.filter('[data-original-index="' + index + '"]') + this.liObj = {}; + this.multiple = this.$element.prop('multiple'); + this.autofocus = this.$element.prop('autofocus'); + this.$newElement = this.createView(); + this.$element + .after(this.$newElement) + .appendTo(this.$newElement); + this.$button = this.$newElement.children('button'); + this.$menu = this.$newElement.children('.dropdown-menu'); + this.$menuInner = this.$menu.children('.inner'); + this.$searchbox = this.$menu.find('input'); + + this.$element.removeClass('bs-select-hidden'); + + if (this.options.dropdownAlignRight === true) this.$menu.addClass('dropdown-menu-right'); + + if (typeof id !== 'undefined') { + this.$button.attr('data-id', id); + $('label[for="' + id + '"]').click(function (e) { + e.preventDefault(); + that.$button.focus(); + }); + } + + this.checkDisabled(); + this.clickListener(); + if (this.options.liveSearch) this.liveSearchListener(); + this.render(); + this.setStyle(); + this.setWidth(); + if (this.options.container) this.selectPosition(); + this.$menu.data('this', this); + this.$newElement.data('this', this); + if (this.options.mobile) this.mobile(); + + this.$newElement.on({ + 'hide.bs.dropdown': function (e) { + that.$element.trigger('hide.bs.select', e); + }, + 'hidden.bs.dropdown': function (e) { + that.$element.trigger('hidden.bs.select', e); + }, + 'show.bs.dropdown': function (e) { + that.$element.trigger('show.bs.select', e); + }, + 'shown.bs.dropdown': function (e) { + that.$element.trigger('shown.bs.select', e); + } + }); + + if (that.$element[0].hasAttribute('required')) { + this.$element.on('invalid', function () { + that.$button + .addClass('bs-invalid') + .focus(); + + that.$element.on({ + 'focus.bs.select': function () { + that.$button.focus(); + that.$element.off('focus.bs.select'); + }, + 'shown.bs.select': function () { + that.$element + .val(that.$element.val()) // set the value to hide the validation message in Chrome when menu is opened + .off('shown.bs.select'); + }, + 'rendered.bs.select': function () { + // if select is no longer invalid, remove the bs-invalid class + if (this.validity.valid) that.$button.removeClass('bs-invalid'); + that.$element.off('rendered.bs.select'); + } + }); + }); + } + + setTimeout(function () { + that.$element.trigger('loaded.bs.select'); + }); + }, + + createDropdown: function () { + // Options + // If we are multiple or showTick option is set, then add the show-tick class + var showTick = (this.multiple || this.options.showTick) ? ' show-tick' : '', + inputGroup = this.$element.parent().hasClass('input-group') ? ' input-group-btn' : '', + autofocus = this.autofocus ? ' autofocus' : ''; + // Elements + var header = this.options.header ? '
' + this.options.header + '
' : ''; + var searchbox = this.options.liveSearch ? + '' + : ''; + var actionsbox = this.multiple && this.options.actionsBox ? + '
' + + '
' + + '' + + '' + + '
' + + '
' + : ''; + var donebutton = this.multiple && this.options.doneButton ? + '
' + + '
' + + '' + + '
' + + '
' + : ''; + var drop = + '
' + + '' + + '' + + '
'; + + return $(drop); + }, + + createView: function () { + var $drop = this.createDropdown(), + li = this.createLi(); + + $drop.find('ul')[0].innerHTML = li; + return $drop; + }, + + reloadLi: function () { + //Remove all children. + this.destroyLi(); + //Re build + var li = this.createLi(); + this.$menuInner[0].innerHTML = li; + }, + + destroyLi: function () { + this.$menu.find('li').remove(); + }, + + createLi: function () { + var that = this, + _li = [], + optID = 0, + titleOption = document.createElement('option'), + liIndex = -1; // increment liIndex whenever a new
  • element is created to ensure liObj is correct + + // Helper functions + /** + * @param content + * @param [index] + * @param [classes] + * @param [optgroup] + * @returns {string} + */ + var generateLI = function (content, index, classes, optgroup) { + return '' + content + '
  • '; + }; + + /** + * @param text + * @param [classes] + * @param [inline] + * @param [tokens] + * @returns {string} + */ + var generateA = function (text, classes, inline, tokens) { + return '' + text + + '' + + ''; + }; + + if (this.options.title && !this.multiple) { + // this option doesn't create a new
  • element, but does add a new option, so liIndex is decreased + // since liObj is recalculated on every refresh, liIndex needs to be decreased even if the titleOption is already appended + liIndex--; + + if (!this.$element.find('.bs-title-option').length) { + // Use native JS to prepend option (faster) + var element = this.$element[0]; + titleOption.className = 'bs-title-option'; + titleOption.appendChild(document.createTextNode(this.options.title)); + titleOption.value = ''; + element.insertBefore(titleOption, element.firstChild); + // Check if selected attribute is already set on an option. If not, select the titleOption option. + // attr gets the 'default' selected option (from markup), prop gets the 'current' selected option + // the selected item may have been changed by user or programmatically before the bootstrap select plugin runs + var $opt = $(element.options[element.selectedIndex]); + if ($opt.attr('selected') === undefined && $opt.prop('selected') === false) { + titleOption.selected = true; + } + } + } + + this.$element.find('option').each(function (index) { + var $this = $(this); + + liIndex++; + + if ($this.hasClass('bs-title-option')) return; + + // Get the class and text for the option + var optionClass = this.className || '', + inline = this.style.cssText, + text = $this.data('content') ? $this.data('content') : $this.html(), + tokens = $this.data('tokens') ? $this.data('tokens') : null, + subtext = typeof $this.data('subtext') !== 'undefined' ? '' + $this.data('subtext') + '' : '', + icon = typeof $this.data('icon') !== 'undefined' ? ' ' : '', + $parent = $this.parent(), + isOptgroup = $parent[0].tagName === 'OPTGROUP', + isOptgroupDisabled = isOptgroup && $parent[0].disabled, + isDisabled = this.disabled || isOptgroupDisabled; + + if (icon !== '' && isDisabled) { + icon = '' + icon + ''; + } + + if (that.options.hideDisabled && (isDisabled && !isOptgroup || isOptgroupDisabled)) { + liIndex--; + return; + } + + if (!$this.data('content')) { + // Prepend any icon and append any subtext to the main text. + text = icon + '' + text + subtext + ''; + } + + if (isOptgroup && $this.data('divider') !== true) { + if (that.options.hideDisabled && isDisabled) { + if ($parent.data('allOptionsDisabled') === undefined) { + var $options = $parent.children(); + $parent.data('allOptionsDisabled', $options.filter(':disabled').length === $options.length); + } + + if ($parent.data('allOptionsDisabled')) { + liIndex--; + return; + } + } + + var optGroupClass = ' ' + $parent[0].className || ''; + + if ($this.index() === 0) { // Is it the first option of the optgroup? + optID += 1; + + // Get the opt group label + var label = $parent[0].label, + labelSubtext = typeof $parent.data('subtext') !== 'undefined' ? '' + $parent.data('subtext') + '' : '', + labelIcon = $parent.data('icon') ? ' ' : ''; + + label = labelIcon + '' + label + labelSubtext + ''; + + if (index !== 0 && _li.length > 0) { // Is it NOT the first option of the select && are there elements in the dropdown? + liIndex++; + _li.push(generateLI('', null, 'divider', optID + 'div')); + } + liIndex++; + _li.push(generateLI(label, null, 'dropdown-header' + optGroupClass, optID)); + } + + if (that.options.hideDisabled && isDisabled) { + liIndex--; + return; + } + + _li.push(generateLI(generateA(text, 'opt ' + optionClass + optGroupClass, inline, tokens), index, '', optID)); + } else if ($this.data('divider') === true) { + _li.push(generateLI('', index, 'divider')); + } else if ($this.data('hidden') === true) { + _li.push(generateLI(generateA(text, optionClass, inline, tokens), index, 'hidden is-hidden')); + } else { + var showDivider = this.previousElementSibling && this.previousElementSibling.tagName === 'OPTGROUP'; + + // if previous element is not an optgroup and hideDisabled is true + if (!showDivider && that.options.hideDisabled) { + // get previous elements + var $prev = $(this).prevAll(); + + for (var i = 0; i < $prev.length; i++) { + // find the first element in the previous elements that is an optgroup + if ($prev[i].tagName === 'OPTGROUP') { + var optGroupDistance = 0; + + // loop through the options in between the current option and the optgroup + // and check if they are hidden or disabled + for (var d = 0; d < i; d++) { + var prevOption = $prev[d]; + if (prevOption.disabled || $(prevOption).data('hidden') === true) optGroupDistance++; + } + + // if all of the options between the current option and the optgroup are hidden or disabled, show the divider + if (optGroupDistance === i) showDivider = true; + + break; + } + } + } + + if (showDivider) { + liIndex++; + _li.push(generateLI('', null, 'divider', optID + 'div')); + } + _li.push(generateLI(generateA(text, optionClass, inline, tokens), index)); + } + + that.liObj[index] = liIndex; + }); + + //If we are not multiple, we don't have a selected item, and we don't have a title, select the first element so something is set in the button + if (!this.multiple && this.$element.find('option:selected').length === 0 && !this.options.title) { + this.$element.find('option').eq(0).prop('selected', true).attr('selected', 'selected'); + } + + return _li.join(''); + }, + + findLis: function () { + if (this.$lis == null) this.$lis = this.$menu.find('li'); + return this.$lis; + }, + + /** + * @param [updateLi] defaults to true + */ + render: function (updateLi) { + var that = this, + notDisabled; + + //Update the LI to match the SELECT + if (updateLi !== false) { + this.$element.find('option').each(function (index) { + var $lis = that.findLis().eq(that.liObj[index]); + + that.setDisabled(index, this.disabled || this.parentNode.tagName === 'OPTGROUP' && this.parentNode.disabled, $lis); + that.setSelected(index, this.selected, $lis); + }); + + this.togglePlaceholder(); + } + + this.tabIndex(); + + var selectedItems = this.$element.find('option').map(function () { + if (this.selected) { + if (that.options.hideDisabled && (this.disabled || this.parentNode.tagName === 'OPTGROUP' && this.parentNode.disabled)) return; + + var $this = $(this), + icon = $this.data('icon') && that.options.showIcon ? ' ' : '', + subtext; + + if (that.options.showSubtext && $this.data('subtext') && !that.multiple) { + subtext = ' ' + $this.data('subtext') + ''; + } else { + subtext = ''; + } + if (typeof $this.attr('title') !== 'undefined') { + return $this.attr('title'); + } else if ($this.data('content') && that.options.showContent) { + return $this.data('content'); + } else { + return icon + $this.html() + subtext; + } + } + }).toArray(); + + //Fixes issue in IE10 occurring when no default option is selected and at least one option is disabled + //Convert all the values into a comma delimited string + var title = !this.multiple ? selectedItems[0] : selectedItems.join(this.options.multipleSeparator); + + //If this is multi select, and the selectText type is count, the show 1 of 2 selected etc.. + if (this.multiple && this.options.selectedTextFormat.indexOf('count') > -1) { + var max = this.options.selectedTextFormat.split('>'); + if ((max.length > 1 && selectedItems.length > max[1]) || (max.length == 1 && selectedItems.length >= 2)) { + notDisabled = this.options.hideDisabled ? ', [disabled]' : ''; + var totalCount = this.$element.find('option').not('[data-divider="true"], [data-hidden="true"]' + notDisabled).length, + tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedItems.length, totalCount) : this.options.countSelectedText; + title = tr8nText.replace('{0}', selectedItems.length.toString()).replace('{1}', totalCount.toString()); + } + } + + if (this.options.title == undefined) { + this.options.title = this.$element.attr('title'); + } + + if (this.options.selectedTextFormat == 'static') { + title = this.options.title; + } + + //If we dont have a title, then use the default, or if nothing is set at all, use the not selected text + if (!title) { + title = typeof this.options.title !== 'undefined' ? this.options.title : this.options.noneSelectedText; + } + + //strip all html-tags and trim the result + this.$button.attr('title', $.trim(title.replace(/<[^>]*>?/g, ''))); + this.$button.children('.filter-option').html(title); + + this.$element.trigger('rendered.bs.select'); + }, + + /** + * @param [style] + * @param [status] + */ + setStyle: function (style, status) { + if (this.$element.attr('class')) { + this.$newElement.addClass(this.$element.attr('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi, '')); + } + + var buttonClass = style ? style : this.options.style; + + if (status == 'add') { + this.$button.addClass(buttonClass); + } else if (status == 'remove') { + this.$button.removeClass(buttonClass); + } else { + this.$button.removeClass(this.options.style); + this.$button.addClass(buttonClass); + } + }, + + liHeight: function (refresh) { + if (!refresh && (this.options.size === false || this.sizeInfo)) return; + + var newElement = document.createElement('div'), + menu = document.createElement('div'), + menuInner = document.createElement('ul'), + divider = document.createElement('li'), + li = document.createElement('li'), + a = document.createElement('a'), + text = document.createElement('span'), + header = this.options.header && this.$menu.find('.popover-title').length > 0 ? this.$menu.find('.popover-title')[0].cloneNode(true) : null, + search = this.options.liveSearch ? document.createElement('div') : null, + actions = this.options.actionsBox && this.multiple && this.$menu.find('.bs-actionsbox').length > 0 ? this.$menu.find('.bs-actionsbox')[0].cloneNode(true) : null, + doneButton = this.options.doneButton && this.multiple && this.$menu.find('.bs-donebutton').length > 0 ? this.$menu.find('.bs-donebutton')[0].cloneNode(true) : null; + + text.className = 'text'; + newElement.className = this.$menu[0].parentNode.className + ' open'; + menu.className = 'dropdown-menu open'; + menuInner.className = 'dropdown-menu inner'; + divider.className = 'divider'; + + text.appendChild(document.createTextNode('Inner text')); + a.appendChild(text); + li.appendChild(a); + menuInner.appendChild(li); + menuInner.appendChild(divider); + if (header) menu.appendChild(header); + if (search) { + // create a span instead of input as creating an input element is slower + var input = document.createElement('span'); + search.className = 'bs-searchbox'; + input.className = 'form-control'; + search.appendChild(input); + menu.appendChild(search); + } + if (actions) menu.appendChild(actions); + menu.appendChild(menuInner); + if (doneButton) menu.appendChild(doneButton); + newElement.appendChild(menu); + + document.body.appendChild(newElement); + + var liHeight = a.offsetHeight, + headerHeight = header ? header.offsetHeight : 0, + searchHeight = search ? search.offsetHeight : 0, + actionsHeight = actions ? actions.offsetHeight : 0, + doneButtonHeight = doneButton ? doneButton.offsetHeight : 0, + dividerHeight = $(divider).outerHeight(true), + // fall back to jQuery if getComputedStyle is not supported + menuStyle = typeof getComputedStyle === 'function' ? getComputedStyle(menu) : false, + $menu = menuStyle ? null : $(menu), + menuPadding = { + vert: parseInt(menuStyle ? menuStyle.paddingTop : $menu.css('paddingTop')) + + parseInt(menuStyle ? menuStyle.paddingBottom : $menu.css('paddingBottom')) + + parseInt(menuStyle ? menuStyle.borderTopWidth : $menu.css('borderTopWidth')) + + parseInt(menuStyle ? menuStyle.borderBottomWidth : $menu.css('borderBottomWidth')), + horiz: parseInt(menuStyle ? menuStyle.paddingLeft : $menu.css('paddingLeft')) + + parseInt(menuStyle ? menuStyle.paddingRight : $menu.css('paddingRight')) + + parseInt(menuStyle ? menuStyle.borderLeftWidth : $menu.css('borderLeftWidth')) + + parseInt(menuStyle ? menuStyle.borderRightWidth : $menu.css('borderRightWidth')) + }, + menuExtras = { + vert: menuPadding.vert + + parseInt(menuStyle ? menuStyle.marginTop : $menu.css('marginTop')) + + parseInt(menuStyle ? menuStyle.marginBottom : $menu.css('marginBottom')) + 2, + horiz: menuPadding.horiz + + parseInt(menuStyle ? menuStyle.marginLeft : $menu.css('marginLeft')) + + parseInt(menuStyle ? menuStyle.marginRight : $menu.css('marginRight')) + 2 + } + + document.body.removeChild(newElement); + + this.sizeInfo = { + liHeight: liHeight, + headerHeight: headerHeight, + searchHeight: searchHeight, + actionsHeight: actionsHeight, + doneButtonHeight: doneButtonHeight, + dividerHeight: dividerHeight, + menuPadding: menuPadding, + menuExtras: menuExtras + }; + }, + + setSize: function () { + this.findLis(); + this.liHeight(); + + if (this.options.header) this.$menu.css('padding-top', 0); + if (this.options.size === false) return; + + var that = this, + $menu = this.$menu, + $menuInner = this.$menuInner, + $window = $(window), + selectHeight = this.$newElement[0].offsetHeight, + selectWidth = this.$newElement[0].offsetWidth, + liHeight = this.sizeInfo['liHeight'], + headerHeight = this.sizeInfo['headerHeight'], + searchHeight = this.sizeInfo['searchHeight'], + actionsHeight = this.sizeInfo['actionsHeight'], + doneButtonHeight = this.sizeInfo['doneButtonHeight'], + divHeight = this.sizeInfo['dividerHeight'], + menuPadding = this.sizeInfo['menuPadding'], + menuExtras = this.sizeInfo['menuExtras'], + notDisabled = this.options.hideDisabled ? '.disabled' : '', + menuHeight, + menuWidth, + getHeight, + getWidth, + selectOffsetTop, + selectOffsetBot, + selectOffsetLeft, + selectOffsetRight, + getPos = function() { + var pos = that.$newElement.offset(); + selectOffsetTop = pos.top - $window.scrollTop(); + selectOffsetBot = $window.height() - selectOffsetTop - selectHeight; + selectOffsetLeft = pos.left - $window.scrollLeft(); + selectOffsetRight = $window.width() - selectOffsetLeft - selectWidth; + }; + + getPos(); + + if (this.options.size === 'auto') { + var getSize = function () { + var minHeight, + hasClass = function (className, include) { + return function (element) { + if (include) { + return (element.classList ? element.classList.contains(className) : $(element).hasClass(className)); + } else { + return !(element.classList ? element.classList.contains(className) : $(element).hasClass(className)); + } + }; + }, + lis = that.$menuInner[0].getElementsByTagName('li'), + lisVisible = Array.prototype.filter ? Array.prototype.filter.call(lis, hasClass('hidden', false)) : that.$lis.not('.hidden'), + optGroup = Array.prototype.filter ? Array.prototype.filter.call(lisVisible, hasClass('dropdown-header', true)) : lisVisible.filter('.dropdown-header'); + + getPos(); + menuHeight = selectOffsetBot - menuExtras.vert; + menuWidth = selectOffsetRight - menuExtras.horiz; + + if (that.options.container) { + if (!$menu.data('height')) $menu.data('height', $menu.height()); + getHeight = $menu.data('height'); + + if (!$menu.data('width')) $menu.data('width', $menu.width()); + getWidth = $menu.data('width'); + } else { + getHeight = $menu.height(); + getWidth = $menu.width(); + } + + if (that.options.dropupAuto) { + that.$newElement.toggleClass('dropup', selectOffsetTop > selectOffsetBot && (menuHeight - menuExtras.vert) < getHeight); + } + + if (that.$newElement.hasClass('dropup')) { + menuHeight = selectOffsetTop - menuExtras.vert; + } + + if (that.options.dropdownAlignRight === 'auto') { + $menu.toggleClass('dropdown-menu-right', selectOffsetLeft > selectOffsetRight && (menuWidth - menuExtras.horiz) < (getWidth - selectWidth)); + } + + if ((lisVisible.length + optGroup.length) > 3) { + minHeight = liHeight * 3 + menuExtras.vert - 2; + } else { + minHeight = 0; + } + + $menu.css({ + 'max-height': menuHeight + 'px', + 'overflow': 'hidden', + 'min-height': minHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight + 'px' + }); + $menuInner.css({ + 'max-height': menuHeight - headerHeight - searchHeight - actionsHeight - doneButtonHeight - menuPadding.vert + 'px', + 'overflow-y': 'auto', + 'min-height': Math.max(minHeight - menuPadding.vert, 0) + 'px' + }); + }; + getSize(); + this.$searchbox.off('input.getSize propertychange.getSize').on('input.getSize propertychange.getSize', getSize); + $window.off('resize.getSize scroll.getSize').on('resize.getSize scroll.getSize', getSize); + } else if (this.options.size && this.options.size != 'auto' && this.$lis.not(notDisabled).length > this.options.size) { + var optIndex = this.$lis.not('.divider').not(notDisabled).children().slice(0, this.options.size).last().parent().index(), + divLength = this.$lis.slice(0, optIndex + 1).filter('.divider').length; + menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding.vert; + + if (that.options.container) { + if (!$menu.data('height')) $menu.data('height', $menu.height()); + getHeight = $menu.data('height'); + } else { + getHeight = $menu.height(); + } + + if (that.options.dropupAuto) { + //noinspection JSUnusedAssignment + this.$newElement.toggleClass('dropup', selectOffsetTop > selectOffsetBot && (menuHeight - menuExtras.vert) < getHeight); + } + $menu.css({ + 'max-height': menuHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight + 'px', + 'overflow': 'hidden', + 'min-height': '' + }); + $menuInner.css({ + 'max-height': menuHeight - menuPadding.vert + 'px', + 'overflow-y': 'auto', + 'min-height': '' + }); + } + }, + + setWidth: function () { + if (this.options.width === 'auto') { + this.$menu.css('min-width', '0'); + + // Get correct width if element is hidden + var $selectClone = this.$menu.parent().clone().appendTo('body'), + $selectClone2 = this.options.container ? this.$newElement.clone().appendTo('body') : $selectClone, + ulWidth = $selectClone.children('.dropdown-menu').outerWidth(), + btnWidth = $selectClone2.css('width', 'auto').children('button').outerWidth(); + + $selectClone.remove(); + $selectClone2.remove(); + + // Set width to whatever's larger, button title or longest option + this.$newElement.css('width', Math.max(ulWidth, btnWidth) + 'px'); + } else if (this.options.width === 'fit') { + // Remove inline min-width so width can be changed from 'auto' + this.$menu.css('min-width', ''); + this.$newElement.css('width', '').addClass('fit-width'); + } else if (this.options.width) { + // Remove inline min-width so width can be changed from 'auto' + this.$menu.css('min-width', ''); + this.$newElement.css('width', this.options.width); + } else { + // Remove inline min-width/width so width can be changed + this.$menu.css('min-width', ''); + this.$newElement.css('width', ''); + } + // Remove fit-width class if width is changed programmatically + if (this.$newElement.hasClass('fit-width') && this.options.width !== 'fit') { + this.$newElement.removeClass('fit-width'); + } + }, + + selectPosition: function () { + this.$bsContainer = $('
    '); + + var that = this, + pos, + actualHeight, + getPlacement = function ($element) { + that.$bsContainer.addClass($element.attr('class').replace(/form-control|fit-width/gi, '')).toggleClass('dropup', $element.hasClass('dropup')); + pos = $element.offset(); + actualHeight = $element.hasClass('dropup') ? 0 : $element[0].offsetHeight; + that.$bsContainer.css({ + 'top': pos.top + actualHeight, + 'left': pos.left, + 'width': $element[0].offsetWidth + }); + }; + + this.$button.on('click', function () { + var $this = $(this); + + if (that.isDisabled()) { + return; + } + + getPlacement(that.$newElement); + + that.$bsContainer + .appendTo(that.options.container) + .toggleClass('open', !$this.hasClass('open')) + .append(that.$menu); + }); + + $(window).on('resize scroll', function () { + getPlacement(that.$newElement); + }); + + this.$element.on('hide.bs.select', function () { + that.$menu.data('height', that.$menu.height()); + that.$bsContainer.detach(); + }); + }, + + /** + * @param {number} index - the index of the option that is being changed + * @param {boolean} selected - true if the option is being selected, false if being deselected + * @param {JQuery} $lis - the 'li' element that is being modified + */ + setSelected: function (index, selected, $lis) { + if (!$lis) { + this.togglePlaceholder(); // check if setSelected is being called by changing the value of the select + $lis = this.findLis().eq(this.liObj[index]); + } + + $lis.toggleClass('selected', selected); + }, + + /** + * @param {number} index - the index of the option that is being disabled + * @param {boolean} disabled - true if the option is being disabled, false if being enabled + * @param {JQuery} $lis - the 'li' element that is being modified + */ + setDisabled: function (index, disabled, $lis) { + if (!$lis) { + $lis = this.findLis().eq(this.liObj[index]); + } + + if (disabled) { + $lis.addClass('disabled').children('a').attr('href', '#').attr('tabindex', -1); + } else { + $lis.removeClass('disabled').children('a').removeAttr('href').attr('tabindex', 0); + } + }, + + isDisabled: function () { + return this.$element[0].disabled; + }, + + checkDisabled: function () { + var that = this; + + if (this.isDisabled()) { + this.$newElement.addClass('disabled'); + this.$button.addClass('disabled').attr('tabindex', -1); + } else { + if (this.$button.hasClass('disabled')) { + this.$newElement.removeClass('disabled'); + this.$button.removeClass('disabled'); + } + + if (this.$button.attr('tabindex') == -1 && !this.$element.data('tabindex')) { + this.$button.removeAttr('tabindex'); + } + } + + this.$button.click(function () { + return !that.isDisabled(); + }); + }, + + togglePlaceholder: function () { + var value = this.$element.val(); + this.$button.toggleClass('bs-placeholder', value === null || value === ''); + }, + + tabIndex: function () { + if (this.$element.data('tabindex') !== this.$element.attr('tabindex') && + (this.$element.attr('tabindex') !== -98 && this.$element.attr('tabindex') !== '-98')) { + this.$element.data('tabindex', this.$element.attr('tabindex')); + this.$button.attr('tabindex', this.$element.data('tabindex')); + } + + this.$element.attr('tabindex', -98); + }, + + clickListener: function () { + var that = this, + $document = $(document); + + this.$newElement.on('touchstart.dropdown', '.dropdown-menu', function (e) { + e.stopPropagation(); + }); + + $document.data('spaceSelect', false); + + this.$button.on('keyup', function (e) { + if (/(32)/.test(e.keyCode.toString(10)) && $document.data('spaceSelect')) { + e.preventDefault(); + $document.data('spaceSelect', false); + } + }); + + this.$button.on('click', function () { + that.setSize(); + }); + + this.$element.on('shown.bs.select', function () { + if (!that.options.liveSearch && !that.multiple) { + that.$menuInner.find('.selected a').focus(); + } else if (!that.multiple) { + var selectedIndex = that.liObj[that.$element[0].selectedIndex]; + + if (typeof selectedIndex !== 'number' || that.options.size === false) return; + + // scroll to selected option + var offset = that.$lis.eq(selectedIndex)[0].offsetTop - that.$menuInner[0].offsetTop; + offset = offset - that.$menuInner[0].offsetHeight/2 + that.sizeInfo.liHeight/2; + that.$menuInner[0].scrollTop = offset; + } + }); + + this.$menuInner.on('click', 'li a', function (e) { + var $this = $(this), + clickedIndex = $this.parent().data('originalIndex'), + prevValue = that.$element.val(), + prevIndex = that.$element.prop('selectedIndex'), + triggerChange = true; + + // Don't close on multi choice menu + if (that.multiple && that.options.maxOptions !== 1) { + e.stopPropagation(); + } + + e.preventDefault(); + + //Don't run if we have been disabled + if (!that.isDisabled() && !$this.parent().hasClass('disabled')) { + var $options = that.$element.find('option'), + $option = $options.eq(clickedIndex), + state = $option.prop('selected'), + $optgroup = $option.parent('optgroup'), + maxOptions = that.options.maxOptions, + maxOptionsGrp = $optgroup.data('maxOptions') || false; + + if (!that.multiple) { // Deselect all others if not multi select box + $options.prop('selected', false); + $option.prop('selected', true); + that.$menuInner.find('.selected').removeClass('selected'); + that.setSelected(clickedIndex, true); + } else { // Toggle the one we have chosen if we are multi select. + $option.prop('selected', !state); + that.setSelected(clickedIndex, !state); + $this.blur(); + + if (maxOptions !== false || maxOptionsGrp !== false) { + var maxReached = maxOptions < $options.filter(':selected').length, + maxReachedGrp = maxOptionsGrp < $optgroup.find('option:selected').length; + + if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) { + if (maxOptions && maxOptions == 1) { + $options.prop('selected', false); + $option.prop('selected', true); + that.$menuInner.find('.selected').removeClass('selected'); + that.setSelected(clickedIndex, true); + } else if (maxOptionsGrp && maxOptionsGrp == 1) { + $optgroup.find('option:selected').prop('selected', false); + $option.prop('selected', true); + var optgroupID = $this.parent().data('optgroup'); + that.$menuInner.find('[data-optgroup="' + optgroupID + '"]').removeClass('selected'); + that.setSelected(clickedIndex, true); + } else { + var maxOptionsText = typeof that.options.maxOptionsText === 'string' ? [that.options.maxOptionsText, that.options.maxOptionsText] : that.options.maxOptionsText, + maxOptionsArr = typeof maxOptionsText === 'function' ? maxOptionsText(maxOptions, maxOptionsGrp) : maxOptionsText, + maxTxt = maxOptionsArr[0].replace('{n}', maxOptions), + maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp), + $notify = $('
    '); + // If {var} is set in array, replace it + /** @deprecated */ + if (maxOptionsArr[2]) { + maxTxt = maxTxt.replace('{var}', maxOptionsArr[2][maxOptions > 1 ? 0 : 1]); + maxTxtGrp = maxTxtGrp.replace('{var}', maxOptionsArr[2][maxOptionsGrp > 1 ? 0 : 1]); + } + + $option.prop('selected', false); + + that.$menu.append($notify); + + if (maxOptions && maxReached) { + $notify.append($('
    ' + maxTxt + '
    ')); + triggerChange = false; + that.$element.trigger('maxReached.bs.select'); + } + + if (maxOptionsGrp && maxReachedGrp) { + $notify.append($('
    ' + maxTxtGrp + '
    ')); + triggerChange = false; + that.$element.trigger('maxReachedGrp.bs.select'); + } + + setTimeout(function () { + that.setSelected(clickedIndex, false); + }, 10); + + $notify.delay(750).fadeOut(300, function () { + $(this).remove(); + }); + } + } + } + } + + if (!that.multiple || (that.multiple && that.options.maxOptions === 1)) { + that.$button.focus(); + } else if (that.options.liveSearch) { + that.$searchbox.focus(); + } + + // Trigger select 'change' + if (triggerChange) { + if ((prevValue != that.$element.val() && that.multiple) || (prevIndex != that.$element.prop('selectedIndex') && !that.multiple)) { + // $option.prop('selected') is current option state (selected/unselected). state is previous option state. + that.$element + .trigger('changed.bs.select', [clickedIndex, $option.prop('selected'), state]) + .triggerNative('change'); + } + } + } + }); + + this.$menu.on('click', 'li.disabled a, .popover-title, .popover-title :not(.close)', function (e) { + if (e.currentTarget == this) { + e.preventDefault(); + e.stopPropagation(); + if (that.options.liveSearch && !$(e.target).hasClass('close')) { + that.$searchbox.focus(); + } else { + that.$button.focus(); + } + } + }); + + this.$menuInner.on('click', '.divider, .dropdown-header', function (e) { + e.preventDefault(); + e.stopPropagation(); + if (that.options.liveSearch) { + that.$searchbox.focus(); + } else { + that.$button.focus(); + } + }); + + this.$menu.on('click', '.popover-title .close', function () { + that.$button.click(); + }); + + this.$searchbox.on('click', function (e) { + e.stopPropagation(); + }); + + this.$menu.on('click', '.actions-btn', function (e) { + if (that.options.liveSearch) { + that.$searchbox.focus(); + } else { + that.$button.focus(); + } + + e.preventDefault(); + e.stopPropagation(); + + if ($(this).hasClass('bs-select-all')) { + that.selectAll(); + } else { + that.deselectAll(); + } + }); + + this.$element.change(function () { + that.render(false); + }); + }, + + liveSearchListener: function () { + var that = this, + $no_results = $('
  • '); + + this.$button.on('click.dropdown.data-api touchstart.dropdown.data-api', function () { + that.$menuInner.find('.active').removeClass('active'); + if (!!that.$searchbox.val()) { + that.$searchbox.val(''); + that.$lis.not('.is-hidden').removeClass('hidden'); + if (!!$no_results.parent().length) $no_results.remove(); + } + if (!that.multiple) that.$menuInner.find('.selected').addClass('active'); + setTimeout(function () { + that.$searchbox.focus(); + }, 10); + }); + + this.$searchbox.on('click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api', function (e) { + e.stopPropagation(); + }); + + this.$searchbox.on('input propertychange', function () { + if (that.$searchbox.val()) { + var $searchBase = that.$lis.not('.is-hidden').removeClass('hidden').children('a'); + if (that.options.liveSearchNormalize) { + $searchBase = $searchBase.not(':a' + that._searchStyle() + '("' + normalizeToBase(that.$searchbox.val()) + '")'); + } else { + $searchBase = $searchBase.not(':' + that._searchStyle() + '("' + that.$searchbox.val() + '")'); + } + $searchBase.parent().addClass('hidden'); + + that.$lis.filter('.dropdown-header').each(function () { + var $this = $(this), + optgroup = $this.data('optgroup'); + + if (that.$lis.filter('[data-optgroup=' + optgroup + ']').not($this).not('.hidden').length === 0) { + $this.addClass('hidden'); + that.$lis.filter('[data-optgroup=' + optgroup + 'div]').addClass('hidden'); + } + }); + + var $lisVisible = that.$lis.not('.hidden'); + + // hide divider if first or last visible, or if followed by another divider + $lisVisible.each(function (index) { + var $this = $(this); + + if ($this.hasClass('divider') && ( + $this.index() === $lisVisible.first().index() || + $this.index() === $lisVisible.last().index() || + $lisVisible.eq(index + 1).hasClass('divider'))) { + $this.addClass('hidden'); + } + }); + + if (!that.$lis.not('.hidden, .no-results').length) { + if (!!$no_results.parent().length) { + $no_results.remove(); + } + $no_results.html(that.options.noneResultsText.replace('{0}', '"' + htmlEscape(that.$searchbox.val()) + '"')).show(); + that.$menuInner.append($no_results); + } else if (!!$no_results.parent().length) { + $no_results.remove(); + } + } else { + that.$lis.not('.is-hidden').removeClass('hidden'); + if (!!$no_results.parent().length) { + $no_results.remove(); + } + } + + that.$lis.filter('.active').removeClass('active'); + if (that.$searchbox.val()) that.$lis.not('.hidden, .divider, .dropdown-header').eq(0).addClass('active').children('a').focus(); + $(this).focus(); + }); + }, + + _searchStyle: function () { + var styles = { + begins: 'ibegins', + startsWith: 'ibegins' + }; + + return styles[this.options.liveSearchStyle] || 'icontains'; + }, + + val: function (value) { + if (typeof value !== 'undefined') { + this.$element.val(value); + this.render(); + + return this.$element; + } else { + return this.$element.val(); + } + }, + + changeAll: function (status) { + if (!this.multiple) return; + if (typeof status === 'undefined') status = true; + + this.findLis(); + + var $options = this.$element.find('option'), + $lisVisible = this.$lis.not('.divider, .dropdown-header, .disabled, .hidden'), + lisVisLen = $lisVisible.length, + selectedOptions = []; + + if (status) { + if ($lisVisible.filter('.selected').length === $lisVisible.length) return; + } else { + if ($lisVisible.filter('.selected').length === 0) return; + } + + $lisVisible.toggleClass('selected', status); + + for (var i = 0; i < lisVisLen; i++) { + var origIndex = $lisVisible[i].getAttribute('data-original-index'); + selectedOptions[selectedOptions.length] = $options.eq(origIndex)[0]; + } + + $(selectedOptions).prop('selected', status); + + this.render(false); + + this.togglePlaceholder(); + + this.$element + .trigger('changed.bs.select') + .triggerNative('change'); + }, + + selectAll: function () { + return this.changeAll(true); + }, + + deselectAll: function () { + return this.changeAll(false); + }, + + toggle: function (e) { + e = e || window.event; + + if (e) e.stopPropagation(); + + this.$button.trigger('click'); + }, + + keydown: function (e) { + var $this = $(this), + $parent = $this.is('input') ? $this.parent().parent() : $this.parent(), + $items, + that = $parent.data('this'), + index, + next, + first, + last, + prev, + nextPrev, + prevIndex, + isActive, + selector = ':not(.disabled, .hidden, .dropdown-header, .divider)', + keyCodeMap = { + 32: ' ', + 48: '0', + 49: '1', + 50: '2', + 51: '3', + 52: '4', + 53: '5', + 54: '6', + 55: '7', + 56: '8', + 57: '9', + 59: ';', + 65: 'a', + 66: 'b', + 67: 'c', + 68: 'd', + 69: 'e', + 70: 'f', + 71: 'g', + 72: 'h', + 73: 'i', + 74: 'j', + 75: 'k', + 76: 'l', + 77: 'm', + 78: 'n', + 79: 'o', + 80: 'p', + 81: 'q', + 82: 'r', + 83: 's', + 84: 't', + 85: 'u', + 86: 'v', + 87: 'w', + 88: 'x', + 89: 'y', + 90: 'z', + 96: '0', + 97: '1', + 98: '2', + 99: '3', + 100: '4', + 101: '5', + 102: '6', + 103: '7', + 104: '8', + 105: '9' + }; + + if (that.options.liveSearch) $parent = $this.parent().parent(); + + if (that.options.container) $parent = that.$menu; + + $items = $('[role=menu] li', $parent); + + isActive = that.$newElement.hasClass('open'); + + if (!isActive && (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode >= 65 && e.keyCode <= 90)) { + if (!that.options.container) { + that.setSize(); + that.$menu.parent().addClass('open'); + isActive = true; + } else { + that.$button.trigger('click'); + } + that.$searchbox.focus(); + return; + } + + if (that.options.liveSearch) { + if (/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && that.$menu.find('.active').length === 0) { + e.preventDefault(); + that.$menu.parent().removeClass('open'); + if (that.options.container) that.$newElement.removeClass('open'); + that.$button.focus(); + } + // $items contains li elements when liveSearch is enabled + $items = $('[role=menu] li' + selector, $parent); + if (!$this.val() && !/(38|40)/.test(e.keyCode.toString(10))) { + if ($items.filter('.active').length === 0) { + $items = that.$menuInner.find('li'); + if (that.options.liveSearchNormalize) { + $items = $items.filter(':a' + that._searchStyle() + '(' + normalizeToBase(keyCodeMap[e.keyCode]) + ')'); + } else { + $items = $items.filter(':' + that._searchStyle() + '(' + keyCodeMap[e.keyCode] + ')'); + } + } + } + } + + if (!$items.length) return; + + if (/(38|40)/.test(e.keyCode.toString(10))) { + index = $items.index($items.find('a').filter(':focus').parent()); + first = $items.filter(selector).first().index(); + last = $items.filter(selector).last().index(); + next = $items.eq(index).nextAll(selector).eq(0).index(); + prev = $items.eq(index).prevAll(selector).eq(0).index(); + nextPrev = $items.eq(next).prevAll(selector).eq(0).index(); + + if (that.options.liveSearch) { + $items.each(function (i) { + if (!$(this).hasClass('disabled')) { + $(this).data('index', i); + } + }); + index = $items.index($items.filter('.active')); + first = $items.first().data('index'); + last = $items.last().data('index'); + next = $items.eq(index).nextAll().eq(0).data('index'); + prev = $items.eq(index).prevAll().eq(0).data('index'); + nextPrev = $items.eq(next).prevAll().eq(0).data('index'); + } + + prevIndex = $this.data('prevIndex'); + + if (e.keyCode == 38) { + if (that.options.liveSearch) index--; + if (index != nextPrev && index > prev) index = prev; + if (index < first) index = first; + if (index == prevIndex) index = last; + } else if (e.keyCode == 40) { + if (that.options.liveSearch) index++; + if (index == -1) index = 0; + if (index != nextPrev && index < next) index = next; + if (index > last) index = last; + if (index == prevIndex) index = first; + } + + $this.data('prevIndex', index); + + if (!that.options.liveSearch) { + $items.eq(index).children('a').focus(); + } else { + e.preventDefault(); + if (!$this.hasClass('dropdown-toggle')) { + $items.removeClass('active').eq(index).addClass('active').children('a').focus(); + $this.focus(); + } + } + + } else if (!$this.is('input')) { + var keyIndex = [], + count, + prevKey; + + $items.each(function () { + if (!$(this).hasClass('disabled')) { + if ($.trim($(this).children('a').text().toLowerCase()).substring(0, 1) == keyCodeMap[e.keyCode]) { + keyIndex.push($(this).index()); + } + } + }); + + count = $(document).data('keycount'); + count++; + $(document).data('keycount', count); + + prevKey = $.trim($(':focus').text().toLowerCase()).substring(0, 1); + + if (prevKey != keyCodeMap[e.keyCode]) { + count = 1; + $(document).data('keycount', count); + } else if (count >= keyIndex.length) { + $(document).data('keycount', 0); + if (count > keyIndex.length) count = 1; + } + + $items.eq(keyIndex[count - 1]).children('a').focus(); + } + + // Select focused option if "Enter", "Spacebar" or "Tab" (when selectOnTab is true) are pressed inside the menu. + if ((/(13|32)/.test(e.keyCode.toString(10)) || (/(^9$)/.test(e.keyCode.toString(10)) && that.options.selectOnTab)) && isActive) { + if (!/(32)/.test(e.keyCode.toString(10))) e.preventDefault(); + if (!that.options.liveSearch) { + var elem = $(':focus'); + elem.click(); + // Bring back focus for multiselects + elem.focus(); + // Prevent screen from scrolling if the user hit the spacebar + e.preventDefault(); + // Fixes spacebar selection of dropdown items in FF & IE + $(document).data('spaceSelect', true); + } else if (!/(32)/.test(e.keyCode.toString(10))) { + that.$menuInner.find('.active a').click(); + $this.focus(); + } + $(document).data('keycount', 0); + } + + if ((/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && (that.multiple || that.options.liveSearch)) || (/(27)/.test(e.keyCode.toString(10)) && !isActive)) { + that.$menu.parent().removeClass('open'); + if (that.options.container) that.$newElement.removeClass('open'); + that.$button.focus(); + } + }, + + mobile: function () { + this.$element.addClass('mobile-device'); + }, + + refresh: function () { + this.$lis = null; + this.liObj = {}; + this.reloadLi(); + this.render(); + this.checkDisabled(); + this.liHeight(true); + this.setStyle(); + this.setWidth(); + if (this.$lis) this.$searchbox.trigger('propertychange'); + + this.$element.trigger('refreshed.bs.select'); + }, + + hide: function () { + this.$newElement.hide(); + }, + + show: function () { + this.$newElement.show(); + }, + + remove: function () { + this.$newElement.remove(); + this.$element.remove(); + }, + + destroy: function () { + this.$newElement.before(this.$element).remove(); + + if (this.$bsContainer) { + this.$bsContainer.remove(); + } else { + this.$menu.remove(); + } + + this.$element + .off('.bs.select') + .removeData('selectpicker') + .removeClass('bs-select-hidden selectpicker'); + } + }; + + // SELECTPICKER PLUGIN DEFINITION + // ============================== + function Plugin(option, event) { + // get the args of the outer function.. + var args = arguments; + // The arguments of the function are explicitly re-defined from the argument list, because the shift causes them + // to get lost/corrupted in android 2.3 and IE9 #715 #775 + var _option = option, + _event = event; + [].shift.apply(args); + + var value; + var chain = this.each(function () { + var $this = $(this); + if ($this.is('select')) { + var data = $this.data('selectpicker'), + options = typeof _option == 'object' && _option; + + if (!data) { + var config = $.extend({}, Selectpicker.DEFAULTS, $.fn.selectpicker.defaults || {}, $this.data(), options); + config.template = $.extend({}, Selectpicker.DEFAULTS.template, ($.fn.selectpicker.defaults ? $.fn.selectpicker.defaults.template : {}), $this.data().template, options.template); + $this.data('selectpicker', (data = new Selectpicker(this, config, _event))); + } else if (options) { + for (var i in options) { + if (options.hasOwnProperty(i)) { + data.options[i] = options[i]; + } + } + } + + if (typeof _option == 'string') { + if (data[_option] instanceof Function) { + value = data[_option].apply(data, args); + } else { + value = data.options[_option]; + } + } + } + }); + + if (typeof value !== 'undefined') { + //noinspection JSUnusedAssignment + return value; + } else { + return chain; + } + } + + var old = $.fn.selectpicker; + $.fn.selectpicker = Plugin; + $.fn.selectpicker.Constructor = Selectpicker; + + // SELECTPICKER NO CONFLICT + // ======================== + $.fn.selectpicker.noConflict = function () { + $.fn.selectpicker = old; + return this; + }; + + $(document) + .data('keycount', 0) + .on('keydown.bs.select', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input', Selectpicker.prototype.keydown) + .on('focusin.modal', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input', function (e) { + e.stopPropagation(); + }); + + // SELECTPICKER DATA-API + // ===================== + $(window).on('load.bs.select.data-api', function () { + $('.selectpicker').each(function () { + var $selectpicker = $(this); + Plugin.call($selectpicker, $selectpicker.data()); + }) + }); +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/bootstrap-select.js.map b/assets/lib/bootstrap-select/js/bootstrap-select.js.map new file mode 100644 index 0000000..27b8f2e --- /dev/null +++ b/assets/lib/bootstrap-select/js/bootstrap-select.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["bootstrap-select.js"],"names":["root","factory","define","amd","a0","exports","module","require","jQuery","this","$","normalizeToBase","text","rExps","re","ch","each","replace","htmlEscape","html","escapeMap","&","<",">","\"","'","`","source","Object","keys","join","testRegexp","RegExp","replaceRegexp","string","test","match","Plugin","option","event","args","arguments","_option","_event","shift","apply","value","chain","$this","is","data","options","i","hasOwnProperty","config","extend","Selectpicker","DEFAULTS","fn","selectpicker","defaults","template","Function","String","prototype","includes","toString","defineProperty","object","$defineProperty","result","error","indexOf","search","TypeError","call","stringLength","length","searchString","searchLength","position","undefined","pos","Number","start","Math","min","max","configurable","writable","startsWith","index","charCodeAt","o","k","r","push","triggerNative","eventName","el","dispatchEvent","Event","bubbles","document","createEvent","initEvent","fireEvent","createEventObject","eventType","trigger","expr","icontains","obj","meta","$obj","haystack","toUpperCase","ibegins","aicontains","aibegins","element","e","stopPropagation","preventDefault","$element","$newElement","$button","$menu","$lis","title","attr","val","render","refresh","setStyle","selectAll","deselectAll","destroy","remove","show","hide","init","VERSION","noneSelectedText","noneResultsText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","doneButton","doneButtonText","multipleSeparator","styleBase","style","size","selectedTextFormat","width","container","hideDisabled","showSubtext","showIcon","showContent","dropupAuto","header","liveSearch","liveSearchPlaceholder","liveSearchNormalize","liveSearchStyle","actionsBox","iconBase","tickIcon","showTick","caret","maxOptions","mobile","selectOnTab","dropdownAlignRight","constructor","that","id","addClass","liObj","multiple","prop","autofocus","createView","after","appendTo","children","$menuInner","$searchbox","find","removeClass","click","focus","checkDisabled","clickListener","liveSearchListener","setWidth","selectPosition","on","hide.bs.dropdown","hidden.bs.dropdown","show.bs.dropdown","shown.bs.dropdown","hasAttribute","focus.bs.select","off","shown.bs.select","rendered.bs.select","validity","valid","setTimeout","createDropdown","inputGroup","parent","hasClass","searchbox","actionsbox","donebutton","drop","$drop","li","createLi","innerHTML","reloadLi","destroyLi","_li","optID","titleOption","createElement","liIndex","generateLI","content","classes","optgroup","generateA","inline","tokens","className","appendChild","createTextNode","insertBefore","firstChild","$opt","selectedIndex","selected","optionClass","cssText","subtext","icon","$parent","isOptgroup","tagName","isOptgroupDisabled","disabled","isDisabled","$options","filter","optGroupClass","label","labelSubtext","labelIcon","showDivider","previousElementSibling","$prev","prevAll","optGroupDistance","d","prevOption","eq","findLis","updateLi","notDisabled","setDisabled","parentNode","setSelected","togglePlaceholder","tabIndex","selectedItems","map","toArray","split","totalCount","not","tr8nText","trim","status","buttonClass","liHeight","sizeInfo","newElement","menu","menuInner","divider","a","cloneNode","actions","input","body","offsetHeight","headerHeight","searchHeight","actionsHeight","doneButtonHeight","dividerHeight","outerHeight","menuStyle","getComputedStyle","menuPadding","vert","parseInt","paddingTop","css","paddingBottom","borderTopWidth","borderBottomWidth","horiz","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","menuExtras","marginTop","marginBottom","marginLeft","marginRight","removeChild","setSize","menuHeight","menuWidth","getHeight","getWidth","selectOffsetTop","selectOffsetBot","selectOffsetLeft","selectOffsetRight","$window","window","selectHeight","selectWidth","offsetWidth","divHeight","getPos","offset","top","scrollTop","height","left","scrollLeft","getSize","minHeight","include","classList","contains","lis","getElementsByTagName","lisVisible","Array","optGroup","toggleClass","max-height","overflow","min-height","overflow-y","optIndex","slice","last","divLength","$selectClone","clone","$selectClone2","ulWidth","outerWidth","btnWidth","$bsContainer","actualHeight","getPlacement","append","detach","removeAttr","$document","keyCode","offsetTop","clickedIndex","prevValue","prevIndex","triggerChange","$option","state","$optgroup","maxOptionsGrp","blur","maxReached","maxReachedGrp","optgroupID","maxOptionsArr","maxTxt","maxTxtGrp","$notify","delay","fadeOut","currentTarget","target","change","$no_results","$searchBase","_searchStyle","$lisVisible","first","styles","begins","changeAll","lisVisLen","selectedOptions","origIndex","getAttribute","toggle","keydown","$items","next","prev","nextPrev","isActive","selector","keyCodeMap","32","48","49","50","51","52","53","54","55","56","57","59","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","96","97","98","99","100","101","102","103","104","105","nextAll","count","prevKey","keyIndex","toLowerCase","substring","elem","before","removeData","old","Constructor","noConflict","$selectpicker"],"mappings":"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","file":"bootstrap-select.min.js"} \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/bootstrap-select.min.js b/assets/lib/bootstrap-select/js/bootstrap-select.min.js new file mode 100644 index 0000000..f514dfc --- /dev/null +++ b/assets/lib/bootstrap-select/js/bootstrap-select.min.js @@ -0,0 +1,9 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){"use strict";function b(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b.replace(this.re,this.ch)}),b}function c(a){var b={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},c="(?:"+Object.keys(b).join("|")+")",d=new RegExp(c),e=new RegExp(c,"g"),f=null==a?"":""+a;return d.test(f)?f.replace(e,function(a){return b[a]}):f}function d(b,c){var d=arguments,f=b,g=c;[].shift.apply(d);var h,i=this.each(function(){var b=a(this);if(b.is("select")){var c=b.data("selectpicker"),i="object"==typeof f&&f;if(c){if(i)for(var j in i)i.hasOwnProperty(j)&&(c.options[j]=i[j])}else{var k=a.extend({},e.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),i);k.template=a.extend({},e.DEFAULTS.template,a.fn.selectpicker.defaults?a.fn.selectpicker.defaults.template:{},b.data().template,i.template),b.data("selectpicker",c=new e(this,k,g))}"string"==typeof f&&(h=c[f]instanceof Function?c[f].apply(c,d):c.options[f])}});return"undefined"!=typeof h?h:i}String.prototype.includes||!function(){var a={}.toString,b=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),c="".indexOf,d=function(b){if(null==this)throw new TypeError;var d=String(this);if(b&&"[object RegExp]"==a.call(b))throw new TypeError;var e=d.length,f=String(b),g=f.length,h=arguments.length>1?arguments[1]:void 0,i=h?Number(h):0;i!=i&&(i=0);var j=Math.min(Math.max(i,0),e);return g+j>e?!1:-1!=c.call(d,f,i)};b?b(String.prototype,"includes",{value:d,configurable:!0,writable:!0}):String.prototype.includes=d}(),String.prototype.startsWith||!function(){var a=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),b={}.toString,c=function(a){if(null==this)throw new TypeError;var c=String(this);if(a&&"[object RegExp]"==b.call(a))throw new TypeError;var d=c.length,e=String(a),f=e.length,g=arguments.length>1?arguments[1]:void 0,h=g?Number(g):0;h!=h&&(h=0);var i=Math.min(Math.max(h,0),d);if(f+i>d)return!1;for(var j=-1;++j'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1},e.prototype={constructor:e,init:function(){var b=this,c=this.$element.attr("id");this.$element.addClass("bs-select-hidden"),this.liObj={},this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement).appendTo(this.$newElement),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(".dropdown-menu"),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),this.$element.removeClass("bs-select-hidden"),this.options.dropdownAlignRight===!0&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(a){b.$element.trigger("hide.bs.select",a)},"hidden.bs.dropdown":function(a){b.$element.trigger("hidden.bs.select",a)},"show.bs.dropdown":function(a){b.$element.trigger("show.bs.select",a)},"shown.bs.dropdown":function(a){b.$element.trigger("shown.bs.select",a)}}),b.$element[0].hasAttribute("required")&&this.$element.on("invalid",function(){b.$button.addClass("bs-invalid").focus(),b.$element.on({"focus.bs.select":function(){b.$button.focus(),b.$element.off("focus.bs.select")},"shown.bs.select":function(){b.$element.val(b.$element.val()).off("shown.bs.select")},"rendered.bs.select":function(){this.validity.valid&&b.$button.removeClass("bs-invalid"),b.$element.off("rendered.bs.select")}})}),setTimeout(function(){b.$element.trigger("loaded.bs.select")})},createDropdown:function(){var b=this.multiple||this.options.showTick?" show-tick":"",d=this.$element.parent().hasClass("input-group")?" input-group-btn":"",e=this.autofocus?" autofocus":"",f=this.options.header?'
    '+this.options.header+"
    ":"",g=this.options.liveSearch?'":"",h=this.multiple&&this.options.actionsBox?'
    ":"",i=this.multiple&&this.options.doneButton?'
    ":"",j='
    ";return a(j)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul")[0].innerHTML=b,a},reloadLi:function(){this.destroyLi();var a=this.createLi();this.$menuInner[0].innerHTML=a},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var d=this,e=[],f=0,g=document.createElement("option"),h=-1,i=function(a,b,c,d){return""+a+""},j=function(a,e,f,g){return'"+a+''};if(this.options.title&&!this.multiple&&(h--,!this.$element.find(".bs-title-option").length)){var k=this.$element[0];g.className="bs-title-option",g.appendChild(document.createTextNode(this.options.title)),g.value="",k.insertBefore(g,k.firstChild);var l=a(k.options[k.selectedIndex]);void 0===l.attr("selected")&&l.prop("selected")===!1&&(g.selected=!0)}return this.$element.find("option").each(function(b){var c=a(this);if(h++,!c.hasClass("bs-title-option")){var g=this.className||"",k=this.style.cssText,l=c.data("content")?c.data("content"):c.html(),m=c.data("tokens")?c.data("tokens"):null,n="undefined"!=typeof c.data("subtext")?''+c.data("subtext")+"":"",o="undefined"!=typeof c.data("icon")?' ':"",p=c.parent(),q="OPTGROUP"===p[0].tagName,r=q&&p[0].disabled,s=this.disabled||r;if(""!==o&&s&&(o=""+o+""),d.options.hideDisabled&&(s&&!q||r))return void h--;if(c.data("content")||(l=o+''+l+n+""),q&&c.data("divider")!==!0){if(d.options.hideDisabled&&s){if(void 0===p.data("allOptionsDisabled")){var t=p.children();p.data("allOptionsDisabled",t.filter(":disabled").length===t.length)}if(p.data("allOptionsDisabled"))return void h--}var u=" "+p[0].className||"";if(0===c.index()){f+=1;var v=p[0].label,w="undefined"!=typeof p.data("subtext")?''+p.data("subtext")+"":"",x=p.data("icon")?' ':"";v=x+''+v+w+"",0!==b&&e.length>0&&(h++,e.push(i("",null,"divider",f+"div"))),h++,e.push(i(v,null,"dropdown-header"+u,f))}if(d.options.hideDisabled&&s)return void h--;e.push(i(j(l,"opt "+g+u,k,m),b,"",f))}else if(c.data("divider")===!0)e.push(i("",b,"divider"));else if(c.data("hidden")===!0)e.push(i(j(l,g,k,m),b,"hidden is-hidden"));else{var y=this.previousElementSibling&&"OPTGROUP"===this.previousElementSibling.tagName;if(!y&&d.options.hideDisabled)for(var z=a(this).prevAll(),A=0;AC;C++){var D=z[C];(D.disabled||a(D).data("hidden")===!0)&&B++}B===A&&(y=!0);break}y&&(h++,e.push(i("",null,"divider",f+"div"))),e.push(i(j(l,g,k,m),b))}d.liObj[b]=h}}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),e.join("")},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c,d=this;b!==!1&&(this.$element.find("option").each(function(a){var b=d.findLis().eq(d.liObj[a]);d.setDisabled(a,this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled,b),d.setSelected(a,this.selected,b)}),this.togglePlaceholder()),this.tabIndex();var e=this.$element.find("option").map(function(){if(this.selected){if(d.options.hideDisabled&&(this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled))return;var b,c=a(this),e=c.data("icon")&&d.options.showIcon?' ':"";return b=d.options.showSubtext&&c.data("subtext")&&!d.multiple?' '+c.data("subtext")+"":"","undefined"!=typeof c.attr("title")?c.attr("title"):c.data("content")&&d.options.showContent?c.data("content"):e+c.html()+b}}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){c=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+c).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}void 0==this.options.title&&(this.options.title=this.$element.attr("title")),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",a.trim(f.replace(/<[^>]*>?/g,""))),this.$button.children(".filter-option").html(f),this.$element.trigger("rendered.bs.select")},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(b){if(b||this.options.size!==!1&&!this.sizeInfo){var c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("ul"),f=document.createElement("li"),g=document.createElement("li"),h=document.createElement("a"),i=document.createElement("span"),j=this.options.header&&this.$menu.find(".popover-title").length>0?this.$menu.find(".popover-title")[0].cloneNode(!0):null,k=this.options.liveSearch?document.createElement("div"):null,l=this.options.actionsBox&&this.multiple&&this.$menu.find(".bs-actionsbox").length>0?this.$menu.find(".bs-actionsbox")[0].cloneNode(!0):null,m=this.options.doneButton&&this.multiple&&this.$menu.find(".bs-donebutton").length>0?this.$menu.find(".bs-donebutton")[0].cloneNode(!0):null;if(i.className="text",c.className=this.$menu[0].parentNode.className+" open",d.className="dropdown-menu open",e.className="dropdown-menu inner",f.className="divider",i.appendChild(document.createTextNode("Inner text")),h.appendChild(i),g.appendChild(h),e.appendChild(g),e.appendChild(f),j&&d.appendChild(j),k){var n=document.createElement("span");k.className="bs-searchbox",n.className="form-control",k.appendChild(n),d.appendChild(k)}l&&d.appendChild(l),d.appendChild(e),m&&d.appendChild(m),c.appendChild(d),document.body.appendChild(c);var o=h.offsetHeight,p=j?j.offsetHeight:0,q=k?k.offsetHeight:0,r=l?l.offsetHeight:0,s=m?m.offsetHeight:0,t=a(f).outerHeight(!0),u="function"==typeof getComputedStyle?getComputedStyle(d):!1,v=u?null:a(d),w={vert:parseInt(u?u.paddingTop:v.css("paddingTop"))+parseInt(u?u.paddingBottom:v.css("paddingBottom"))+parseInt(u?u.borderTopWidth:v.css("borderTopWidth"))+parseInt(u?u.borderBottomWidth:v.css("borderBottomWidth")),horiz:parseInt(u?u.paddingLeft:v.css("paddingLeft"))+parseInt(u?u.paddingRight:v.css("paddingRight"))+parseInt(u?u.borderLeftWidth:v.css("borderLeftWidth"))+parseInt(u?u.borderRightWidth:v.css("borderRightWidth"))},x={vert:w.vert+parseInt(u?u.marginTop:v.css("marginTop"))+parseInt(u?u.marginBottom:v.css("marginBottom"))+2,horiz:w.horiz+parseInt(u?u.marginLeft:v.css("marginLeft"))+parseInt(u?u.marginRight:v.css("marginRight"))+2};document.body.removeChild(c),this.sizeInfo={liHeight:o,headerHeight:p,searchHeight:q,actionsHeight:r,doneButtonHeight:s,dividerHeight:t,menuPadding:w,menuExtras:x}}},setSize:function(){if(this.findLis(),this.liHeight(),this.options.header&&this.$menu.css("padding-top",0),this.options.size!==!1){var b,c,d,e,f,g,h,i,j=this,k=this.$menu,l=this.$menuInner,m=a(window),n=this.$newElement[0].offsetHeight,o=this.$newElement[0].offsetWidth,p=this.sizeInfo.liHeight,q=this.sizeInfo.headerHeight,r=this.sizeInfo.searchHeight,s=this.sizeInfo.actionsHeight,t=this.sizeInfo.doneButtonHeight,u=this.sizeInfo.dividerHeight,v=this.sizeInfo.menuPadding,w=this.sizeInfo.menuExtras,x=this.options.hideDisabled?".disabled":"",y=function(){var a=j.$newElement.offset();f=a.top-m.scrollTop(),g=m.height()-f-n,h=a.left-m.scrollLeft(),i=m.width()-h-o};if(y(),"auto"===this.options.size){var z=function(){var m,n=function(b,c){return function(d){return c?d.classList?d.classList.contains(b):a(d).hasClass(b):!(d.classList?d.classList.contains(b):a(d).hasClass(b))}},u=j.$menuInner[0].getElementsByTagName("li"),x=Array.prototype.filter?Array.prototype.filter.call(u,n("hidden",!1)):j.$lis.not(".hidden"),z=Array.prototype.filter?Array.prototype.filter.call(x,n("dropdown-header",!0)):x.filter(".dropdown-header");y(),b=g-w.vert,c=i-w.horiz,j.options.container?(k.data("height")||k.data("height",k.height()),d=k.data("height"),k.data("width")||k.data("width",k.width()),e=k.data("width")):(d=k.height(),e=k.width()),j.options.dropupAuto&&j.$newElement.toggleClass("dropup",f>g&&b-w.verti&&c-w.horiz3?3*p+w.vert-2:0,k.css({"max-height":b+"px",overflow:"hidden","min-height":m+q+r+s+t+"px"}),l.css({"max-height":b-q-r-s-t-v.vert+"px","overflow-y":"auto","min-height":Math.max(m-v.vert,0)+"px"})};z(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",z),m.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize",z)}else if(this.options.size&&"auto"!=this.options.size&&this.$lis.not(x).length>this.options.size){var A=this.$lis.not(".divider").not(x).children().slice(0,this.options.size).last().parent().index(),B=this.$lis.slice(0,A+1).filter(".divider").length;b=p*this.options.size+B*u+v.vert,j.options.container?(k.data("height")||k.data("height",k.height()),d=k.data("height")):d=k.height(),j.options.dropupAuto&&this.$newElement.toggleClass("dropup",f>g&&b-w.vert');var b,c,d=this,e=function(a){d.$bsContainer.addClass(a.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),c=a.hasClass("dropup")?0:a[0].offsetHeight,d.$bsContainer.css({top:b.top+c,left:b.left,width:a[0].offsetWidth})};this.$button.on("click",function(){var b=a(this);d.isDisabled()||(e(d.$newElement),d.$bsContainer.appendTo(d.options.container).toggleClass("open",!b.hasClass("open")).append(d.$menu))}),a(window).on("resize scroll",function(){e(d.$newElement)}),this.$element.on("hide.bs.select",function(){d.$menu.data("height",d.$menu.height()),d.$bsContainer.detach()})},setSelected:function(a,b,c){c||(this.togglePlaceholder(),c=this.findLis().eq(this.liObj[a])),c.toggleClass("selected",b)},setDisabled:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),b?c.addClass("disabled").children("a").attr("href","#").attr("tabindex",-1):c.removeClass("disabled").children("a").removeAttr("href").attr("tabindex",0)},isDisabled:function(){return this.$element[0].disabled},checkDisabled:function(){var a=this;this.isDisabled()?(this.$newElement.addClass("disabled"),this.$button.addClass("disabled").attr("tabindex",-1)):(this.$button.hasClass("disabled")&&(this.$newElement.removeClass("disabled"),this.$button.removeClass("disabled")),-1!=this.$button.attr("tabindex")||this.$element.data("tabindex")||this.$button.removeAttr("tabindex")),this.$button.click(function(){return!a.isDisabled()})},togglePlaceholder:function(){var a=this.$element.val();this.$button.toggleClass("bs-placeholder",null===a||""===a)},tabIndex:function(){this.$element.data("tabindex")!==this.$element.attr("tabindex")&&-98!==this.$element.attr("tabindex")&&"-98"!==this.$element.attr("tabindex")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex"))),this.$element.attr("tabindex",-98)},clickListener:function(){var b=this,c=a(document);this.$newElement.on("touchstart.dropdown",".dropdown-menu",function(a){a.stopPropagation()}),c.data("spaceSelect",!1),this.$button.on("keyup",function(a){/(32)/.test(a.keyCode.toString(10))&&c.data("spaceSelect")&&(a.preventDefault(),c.data("spaceSelect",!1))}),this.$button.on("click",function(){b.setSize()}),this.$element.on("shown.bs.select",function(){if(b.options.liveSearch||b.multiple){if(!b.multiple){var a=b.liObj[b.$element[0].selectedIndex];if("number"!=typeof a||b.options.size===!1)return;var c=b.$lis.eq(a)[0].offsetTop-b.$menuInner[0].offsetTop;c=c-b.$menuInner[0].offsetHeight/2+b.sizeInfo.liHeight/2,b.$menuInner[0].scrollTop=c}}else b.$menuInner.find(".selected a").focus()}),this.$menuInner.on("click","li a",function(c){var d=a(this),e=d.parent().data("originalIndex"),f=b.$element.val(),g=b.$element.prop("selectedIndex"),h=!0;if(b.multiple&&1!==b.options.maxOptions&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var i=b.$element.find("option"),j=i.eq(e),k=j.prop("selected"),l=j.parent("optgroup"),m=b.options.maxOptions,n=l.data("maxOptions")||!1;if(b.multiple){if(j.prop("selected",!k),b.setSelected(e,!k),d.blur(),m!==!1||n!==!1){var o=m');s[2]&&(t=t.replace("{var}",s[2][m>1?0:1]),u=u.replace("{var}",s[2][n>1?0:1])),j.prop("selected",!1),b.$menu.append(v),m&&o&&(v.append(a("
    "+t+"
    ")),h=!1,b.$element.trigger("maxReached.bs.select")),n&&p&&(v.append(a("
    "+u+"
    ")),h=!1,b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(e,!1)},10),v.delay(750).fadeOut(300,function(){a(this).remove()})}}}else i.prop("selected",!1),j.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(e,!0);!b.multiple||b.multiple&&1===b.options.maxOptions?b.$button.focus():b.options.liveSearch&&b.$searchbox.focus(),h&&(f!=b.$element.val()&&b.multiple||g!=b.$element.prop("selectedIndex")&&!b.multiple)&&b.$element.trigger("changed.bs.select",[e,j.prop("selected"),k]).triggerNative("change")}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(c){c.currentTarget==this&&(c.preventDefault(),c.stopPropagation(),b.options.liveSearch&&!a(c.target).hasClass("close")?b.$searchbox.focus():b.$button.focus())}),this.$menuInner.on("click",".divider, .dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.click()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).hasClass("bs-select-all")?b.selectAll():b.deselectAll()}),this.$element.change(function(){b.render(!1)})},liveSearchListener:function(){var d=this,e=a('
  • ');this.$button.on("click.dropdown.data-api touchstart.dropdown.data-api",function(){d.$menuInner.find(".active").removeClass("active"),d.$searchbox.val()&&(d.$searchbox.val(""),d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove()),d.multiple||d.$menuInner.find(".selected").addClass("active"),setTimeout(function(){d.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){if(d.$searchbox.val()){var f=d.$lis.not(".is-hidden").removeClass("hidden").children("a");f=d.options.liveSearchNormalize?f.not(":a"+d._searchStyle()+'("'+b(d.$searchbox.val())+'")'):f.not(":"+d._searchStyle()+'("'+d.$searchbox.val()+'")'),f.parent().addClass("hidden"),d.$lis.filter(".dropdown-header").each(function(){var b=a(this),c=b.data("optgroup");0===d.$lis.filter("[data-optgroup="+c+"]").not(b).not(".hidden").length&&(b.addClass("hidden"),d.$lis.filter("[data-optgroup="+c+"div]").addClass("hidden"))});var g=d.$lis.not(".hidden");g.each(function(b){var c=a(this);c.hasClass("divider")&&(c.index()===g.first().index()||c.index()===g.last().index()||g.eq(b+1).hasClass("divider"))&&c.addClass("hidden")}),d.$lis.not(".hidden, .no-results").length?e.parent().length&&e.remove():(e.parent().length&&e.remove(),e.html(d.options.noneResultsText.replace("{0}",'"'+c(d.$searchbox.val())+'"')).show(),d.$menuInner.append(e))}else d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove();d.$lis.filter(".active").removeClass("active"),d.$searchbox.val()&&d.$lis.not(".hidden, .divider, .dropdown-header").eq(0).addClass("active").children("a").focus(),a(this).focus()})},_searchStyle:function(){var a={begins:"ibegins",startsWith:"ibegins"};return a[this.options.liveSearchStyle]||"icontains"},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},changeAll:function(b){if(this.multiple){"undefined"==typeof b&&(b=!0),this.findLis();var c=this.$element.find("option"),d=this.$lis.not(".divider, .dropdown-header, .disabled, .hidden"),e=d.length,f=[];if(b){if(d.filter(".selected").length===d.length)return}else if(0===d.filter(".selected").length)return;d.toggleClass("selected",b);for(var g=0;e>g;g++){var h=d[g].getAttribute("data-original-index");f[f.length]=c.eq(h)[0]}a(f).prop("selected",b),this.render(!1),this.togglePlaceholder(),this.$element.trigger("changed.bs.select").triggerNative("change")}},selectAll:function(){return this.changeAll(!0)},deselectAll:function(){return this.changeAll(!1)},toggle:function(a){a=a||window.event,a&&a.stopPropagation(),this.$button.trigger("click")},keydown:function(c){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p=":not(.disabled, .hidden, .dropdown-header, .divider)",q={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a("[role=menu] li",n),l=o.$newElement.hasClass("open"),!l&&(c.keyCode>=48&&c.keyCode<=57||c.keyCode>=96&&c.keyCode<=105||c.keyCode>=65&&c.keyCode<=90))return o.options.container?o.$button.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),void o.$searchbox.focus();if(o.options.liveSearch&&(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&0===o.$menu.find(".active").length&&(c.preventDefault(),o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus()),d=a("[role=menu] li"+p,n),m.val()||/(38|40)/.test(c.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$menuInner.find("li"),d=o.options.liveSearchNormalize?d.filter(":a"+o._searchStyle()+"("+b(q[c.keyCode])+")"):d.filter(":"+o._searchStyle()+"("+q[c.keyCode]+")"))),d.length){if(/(38|40)/.test(c.keyCode.toString(10)))e=d.index(d.find("a").filter(":focus").parent()),g=d.filter(p).first().index(),h=d.filter(p).last().index(),f=d.eq(e).nextAll(p).eq(0).index(),i=d.eq(e).prevAll(p).eq(0).index(),j=d.eq(f).prevAll(p).eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).hasClass("disabled")||a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.first().data("index"),h=d.last().data("index"),f=d.eq(e).nextAll().eq(0).data("index"),i=d.eq(e).prevAll().eq(0).data("index"),j=d.eq(f).prevAll().eq(0).data("index")),k=m.data("prevIndex"),38==c.keyCode?(o.options.liveSearch&&e--,e!=j&&e>i&&(e=i),g>e&&(e=g),e==k&&(e=h)):40==c.keyCode&&(o.options.liveSearch&&e++,-1==e&&(e=0),e!=j&&f>e&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(c.preventDefault(),m.hasClass("dropdown-toggle")||(d.removeClass("active").eq(e).addClass("active").children("a").focus(),m.focus())):d.eq(e).children("a").focus();else if(!m.is("input")){var r,s,t=[];d.each(function(){a(this).hasClass("disabled")||a.trim(a(this).children("a").text().toLowerCase()).substring(0,1)==q[c.keyCode]&&t.push(a(this).index())}),r=a(document).data("keycount"),r++,a(document).data("keycount",r),s=a.trim(a(":focus").text().toLowerCase()).substring(0,1),s!=q[c.keyCode]?(r=1,a(document).data("keycount",r)):r>=t.length&&(a(document).data("keycount",0),r>t.length&&(r=1)),d.eq(t[r-1]).children("a").focus()}if((/(13|32)/.test(c.keyCode.toString(10))||/(^9$)/.test(c.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(c.keyCode.toString(10))||c.preventDefault(),o.options.liveSearch)/(32)/.test(c.keyCode.toString(10))||(o.$menuInner.find(".active a").click(),m.focus());else{var u=a(":focus");u.click(),u.focus(),c.preventDefault(),a(document).data("spaceSelect",!0)}a(document).data("keycount",0)}(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(c.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device")},refresh:function(){this.$lis=null,this.liObj={},this.reloadLi(),this.render(),this.checkDisabled(),this.liHeight(!0),this.setStyle(),this.setWidth(),this.$lis&&this.$searchbox.trigger("propertychange"),this.$element.trigger("refreshed.bs.select"); +},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()},destroy:function(){this.$newElement.before(this.$element).remove(),this.$bsContainer?this.$bsContainer.remove():this.$menu.remove(),this.$element.off(".bs.select").removeData("selectpicker").removeClass("bs-select-hidden selectpicker")}};var f=a.fn.selectpicker;a.fn.selectpicker=d,a.fn.selectpicker.Constructor=e,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=f,this},a(document).data("keycount",0).on("keydown.bs.select",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',e.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);d.call(b,b.data())})})}(a)}); +//# sourceMappingURL=bootstrap-select.js.map \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-ar_AR.js b/assets/lib/bootstrap-select/js/i18n/defaults-ar_AR.js new file mode 100644 index 0000000..4b82e50 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-ar_AR.js @@ -0,0 +1,49 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +/*! + * Translated default messages for bootstrap-select. + * Locale: AR (Arabic) + * Author: Yasser Lotfy + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'لم يتم إختيار شئ', + noneResultsText: 'لا توجد نتائج مطابقة لـ {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} خيار تم إختياره" : "{0} خيارات تمت إختيارها"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + (numAll == 1) ? 'تخطى الحد المسموح ({n} خيار بحد أقصى)' : 'تخطى الحد المسموح ({n} خيارات بحد أقصى)', + (numGroup == 1) ? 'تخطى الحد المسموح للمجموعة ({n} خيار بحد أقصى)' : 'تخطى الحد المسموح للمجموعة ({n} خيارات بحد أقصى)' + ]; + }, + selectAllText: 'إختيار الجميع', + deselectAllText: 'إلغاء إختيار الجميع', + multipleSeparator: '، ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-ar_AR.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-ar_AR.min.js new file mode 100644 index 0000000..0b3a158 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-ar_AR.min.js @@ -0,0 +1,12 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){/*! + * Translated default messages for bootstrap-select. + * Locale: AR (Arabic) + * Author: Yasser Lotfy + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"لم يتم إختيار شئ",noneResultsText:"لا توجد نتائج مطابقة لـ {0}",countSelectedText:function(a,b){return 1==a?"{0} خيار تم إختياره":"{0} خيارات تمت إختيارها"},maxOptionsText:function(a,b){return[1==a?"تخطى الحد المسموح ({n} خيار بحد أقصى)":"تخطى الحد المسموح ({n} خيارات بحد أقصى)",1==b?"تخطى الحد المسموح للمجموعة ({n} خيار بحد أقصى)":"تخطى الحد المسموح للمجموعة ({n} خيارات بحد أقصى)"]},selectAllText:"إختيار الجميع",deselectAllText:"إلغاء إختيار الجميع",multipleSeparator:"، "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-bg_BG.js b/assets/lib/bootstrap-select/js/i18n/defaults-bg_BG.js new file mode 100644 index 0000000..e142018 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-bg_BG.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Нищо избрано', + noneResultsText: 'Няма резултат за {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} избран елемент" : "{0} избрани елемента"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + (numAll == 1) ? 'Лимита е достигнат ({n} елемент максимум)' : 'Лимита е достигнат ({n} елемента максимум)', + (numGroup == 1) ? 'Груповия лимит е достигнат ({n} елемент максимум)' : 'Груповия лимит е достигнат ({n} елемента максимум)' + ]; + }, + selectAllText: 'Избери всички', + deselectAllText: 'Размаркирай всички', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-bg_BG.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-bg_BG.min.js new file mode 100644 index 0000000..449c564 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-bg_BG.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нищо избрано",noneResultsText:"Няма резултат за {0}",countSelectedText:function(a,b){return 1==a?"{0} избран елемент":"{0} избрани елемента"},maxOptionsText:function(a,b){return[1==a?"Лимита е достигнат ({n} елемент максимум)":"Лимита е достигнат ({n} елемента максимум)",1==b?"Груповия лимит е достигнат ({n} елемент максимум)":"Груповия лимит е достигнат ({n} елемента максимум)"]},selectAllText:"Избери всички",deselectAllText:"Размаркирай всички",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-cro_CRO.js b/assets/lib/bootstrap-select/js/i18n/defaults-cro_CRO.js new file mode 100644 index 0000000..c785c9d --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-cro_CRO.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Odaberite stavku', + noneResultsText: 'Nema rezultata pretrage {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} stavka selektirana" : "{0} stavke selektirane"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + (numAll == 1) ? 'Limit je postignut ({n} stvar maximalno)' : 'Limit je postignut ({n} stavke maksimalno)', + (numGroup == 1) ? 'Grupni limit je postignut ({n} stvar maksimalno)' : 'Grupni limit je postignut ({n} stavke maksimalno)' + ]; + }, + selectAllText: 'Selektiraj sve', + deselectAllText: 'Deselektiraj sve', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-cro_CRO.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-cro_CRO.min.js new file mode 100644 index 0000000..c5e8247 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-cro_CRO.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Odaberite stavku",noneResultsText:"Nema rezultata pretrage {0}",countSelectedText:function(a,b){return 1==a?"{0} stavka selektirana":"{0} stavke selektirane"},maxOptionsText:function(a,b){return[1==a?"Limit je postignut ({n} stvar maximalno)":"Limit je postignut ({n} stavke maksimalno)",1==b?"Grupni limit je postignut ({n} stvar maksimalno)":"Grupni limit je postignut ({n} stavke maksimalno)"]},selectAllText:"Selektiraj sve",deselectAllText:"Deselektiraj sve",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-cs_CZ.js b/assets/lib/bootstrap-select/js/i18n/defaults-cs_CZ.js new file mode 100644 index 0000000..f04d4da --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-cs_CZ.js @@ -0,0 +1,35 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nic není vybráno', + noneResultsText: 'Žádné výsledky {0}', + countSelectedText: 'Označeno {0} z {1}', + maxOptionsText: ['Limit překročen ({n} {var} max)', 'Limit skupiny překročen ({n} {var} max)', ['položek', 'položka']], + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-cs_CZ.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-cs_CZ.min.js new file mode 100644 index 0000000..1f084c8 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-cs_CZ.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic není vybráno",noneResultsText:"Žádné výsledky {0}",countSelectedText:"Označeno {0} z {1}",maxOptionsText:["Limit překročen ({n} {var} max)","Limit skupiny překročen ({n} {var} max)",["položek","položka"]],multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-da_DK.js b/assets/lib/bootstrap-select/js/i18n/defaults-da_DK.js new file mode 100644 index 0000000..164ff4e --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-da_DK.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Intet valgt', + noneResultsText: 'Ingen resultater fundet {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} valgt" : "{0} valgt"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + (numAll == 1) ? 'Begrænsning nået (max {n} valgt)' : 'Begrænsning nået (max {n} valgte)', + (numGroup == 1) ? 'Gruppe-begrænsning nået (max {n} valgt)' : 'Gruppe-begrænsning nået (max {n} valgte)' + ]; + }, + selectAllText: 'Markér alle', + deselectAllText: 'Afmarkér alle', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-da_DK.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-da_DK.min.js new file mode 100644 index 0000000..e46f69d --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-da_DK.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Intet valgt",noneResultsText:"Ingen resultater fundet {0}",countSelectedText:function(a,b){return"{0} valgt"},maxOptionsText:function(a,b){return[1==a?"Begrænsning nået (max {n} valgt)":"Begrænsning nået (max {n} valgte)",1==b?"Gruppe-begrænsning nået (max {n} valgt)":"Gruppe-begrænsning nået (max {n} valgte)"]},selectAllText:"Markér alle",deselectAllText:"Afmarkér alle",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-de_DE.js b/assets/lib/bootstrap-select/js/i18n/defaults-de_DE.js new file mode 100644 index 0000000..4bf7a60 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-de_DE.js @@ -0,0 +1,35 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Bitte wählen...', + noneResultsText: 'Keine Ergebnisse für {0}', + countSelectedText: '{0} von {1} ausgewählt', + maxOptionsText: ['Limit erreicht ({n} {var} max.)', 'Gruppen-Limit erreicht ({n} {var} max.)', ['Eintrag', 'Einträge']], + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-de_DE.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-de_DE.min.js new file mode 100644 index 0000000..f47b544 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-de_DE.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Bitte wählen...",noneResultsText:"Keine Ergebnisse für {0}",countSelectedText:"{0} von {1} ausgewählt",maxOptionsText:["Limit erreicht ({n} {var} max.)","Gruppen-Limit erreicht ({n} {var} max.)",["Eintrag","Einträge"]],multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-en_US.js b/assets/lib/bootstrap-select/js/i18n/defaults-en_US.js new file mode 100644 index 0000000..f633f96 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-en_US.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nothing selected', + noneResultsText: 'No results match {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} item selected" : "{0} items selected"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)', + (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)' + ]; + }, + selectAllText: 'Select All', + deselectAllText: 'Deselect All', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-en_US.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-en_US.min.js new file mode 100644 index 0000000..74041dc --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-en_US.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nothing selected",noneResultsText:"No results match {0}",countSelectedText:function(a,b){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-es_CL.js b/assets/lib/bootstrap-select/js/i18n/defaults-es_CL.js new file mode 100644 index 0000000..1e7aa8d --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-es_CL.js @@ -0,0 +1,35 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'No hay selección', + noneResultsText: 'No hay resultados {0}', + countSelectedText: 'Seleccionados {0} de {1}', + maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']], + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-es_CL.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-es_CL.min.js new file mode 100644 index 0000000..2ac9a57 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-es_CL.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"No hay selección",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["Límite alcanzado ({n} {var} max)","Límite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-eu.js b/assets/lib/bootstrap-select/js/i18n/defaults-eu.js new file mode 100644 index 0000000..a4e12f0 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-eu.js @@ -0,0 +1,35 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Hautapenik ez', + noneResultsText: 'Emaitzarik ez {0}', + countSelectedText: '{1}(e)tik {0} hautatuta', + maxOptionsText: ['Mugara iritsita ({n} {var} gehienez)', 'Taldearen mugara iritsita ({n} {var} gehienez)', ['elementu', 'elementu']], + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-eu.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-eu.min.js new file mode 100644 index 0000000..12b36d0 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-eu.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hautapenik ez",noneResultsText:"Emaitzarik ez {0}",countSelectedText:"{1}(e)tik {0} hautatuta",maxOptionsText:["Mugara iritsita ({n} {var} gehienez)","Taldearen mugara iritsita ({n} {var} gehienez)",["elementu","elementu"]],multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-fa_IR.js b/assets/lib/bootstrap-select/js/i18n/defaults-fa_IR.js new file mode 100644 index 0000000..bcd65b0 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-fa_IR.js @@ -0,0 +1,37 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'چیزی انتخاب نشده است', + noneResultsText: 'هیج مشابهی برای {0} پیدا نشد', + countSelectedText: "{0} از {1} مورد انتخاب شده", + maxOptionsText: ['بیشتر ممکن نیست {حداکثر {n} عدد}', 'بیشتر ممکن نیست {حداکثر {n} عدد}'], + selectAllText: 'انتخاب همه', + deselectAllText: 'انتخاب هیچ کدام', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-fa_IR.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-fa_IR.min.js new file mode 100644 index 0000000..0f2ef54 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-fa_IR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"چیزی انتخاب نشده است",noneResultsText:"هیج مشابهی برای {0} پیدا نشد",countSelectedText:"{0} از {1} مورد انتخاب شده",maxOptionsText:["بیشتر ممکن نیست {حداکثر {n} عدد}","بیشتر ممکن نیست {حداکثر {n} عدد}"],selectAllText:"انتخاب همه",deselectAllText:"انتخاب هیچ کدام",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-fi_FI.js b/assets/lib/bootstrap-select/js/i18n/defaults-fi_FI.js new file mode 100644 index 0000000..02c1a30 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-fi_FI.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Ei valintoja', + noneResultsText: 'Ei hakutuloksia {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} valittu" : "{0} valitut"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + (numAll == 1) ? 'Valintojen maksimimäärä ({n} saavutettu)' : 'Valintojen maksimimäärä ({n} saavutettu)', + (numGroup == 1) ? 'Ryhmän maksimimäärä ({n} saavutettu)' : 'Ryhmän maksimimäärä ({n} saavutettu)' + ]; + }, + selectAllText: 'Valitse kaikki', + deselectAllText: 'Poista kaikki', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-fi_FI.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-fi_FI.min.js new file mode 100644 index 0000000..4f467a9 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-fi_FI.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ei valintoja",noneResultsText:"Ei hakutuloksia {0}",countSelectedText:function(a,b){return 1==a?"{0} valittu":"{0} valitut"},maxOptionsText:function(a,b){return["Valintojen maksimimäärä ({n} saavutettu)","Ryhmän maksimimäärä ({n} saavutettu)"]},selectAllText:"Valitse kaikki",deselectAllText:"Poista kaikki",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-fr_FR.js b/assets/lib/bootstrap-select/js/i18n/defaults-fr_FR.js new file mode 100644 index 0000000..6d834e0 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-fr_FR.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Aucune sélection', + noneResultsText: 'Aucun résultat pour {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected > 1) ? "{0} éléments sélectionnés" : "{0} élément sélectionné"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + (numAll > 1) ? 'Limite atteinte ({n} éléments max)' : 'Limite atteinte ({n} élément max)', + (numGroup > 1) ? 'Limite du groupe atteinte ({n} éléments max)' : 'Limite du groupe atteinte ({n} élément max)' + ]; + }, + multipleSeparator: ', ', + selectAllText: 'Tout Sélectionner', + deselectAllText: 'Tout Dé-selectionner', + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-fr_FR.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-fr_FR.min.js new file mode 100644 index 0000000..0c3c120 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-fr_FR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Aucune sélection",noneResultsText:"Aucun résultat pour {0}",countSelectedText:function(a,b){return a>1?"{0} éléments sélectionnés":"{0} élément sélectionné"},maxOptionsText:function(a,b){return[a>1?"Limite atteinte ({n} éléments max)":"Limite atteinte ({n} élément max)",b>1?"Limite du groupe atteinte ({n} éléments max)":"Limite du groupe atteinte ({n} élément max)"]},multipleSeparator:", ",selectAllText:"Tout Sélectionner",deselectAllText:"Tout Dé-selectionner"}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-hu_HU.js b/assets/lib/bootstrap-select/js/i18n/defaults-hu_HU.js new file mode 100644 index 0000000..7f92ffc --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-hu_HU.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Válasszon!', + noneResultsText: 'Nincs találat {0}', + countSelectedText: function (numSelected, numTotal) { + return '{0} elem kiválasztva'; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + 'Legfeljebb {n} elem választható', + 'A csoportban legfeljebb {n} elem választható' + ]; + }, + selectAllText: 'Mind', + deselectAllText: 'Egyik sem', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-hu_HU.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-hu_HU.min.js new file mode 100644 index 0000000..650c4ef --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-hu_HU.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Válasszon!",noneResultsText:"Nincs találat {0}",countSelectedText:function(a,b){return"{0} elem kiválasztva"},maxOptionsText:function(a,b){return["Legfeljebb {n} elem választható","A csoportban legfeljebb {n} elem választható"]},selectAllText:"Mind",deselectAllText:"Egyik sem",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-id_ID.js b/assets/lib/bootstrap-select/js/i18n/defaults-id_ID.js new file mode 100644 index 0000000..217c946 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-id_ID.js @@ -0,0 +1,37 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Tidak ada yang dipilih', + noneResultsText: 'Tidak ada yang cocok {0}', + countSelectedText: '{0} terpilih', + maxOptionsText: ['Mencapai batas (maksimum {n})', 'Mencapai batas grup (maksimum {n})'], + selectAllText: 'Pilih Semua', + deselectAllText: 'Hapus Semua', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-id_ID.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-id_ID.min.js new file mode 100644 index 0000000..930e248 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-id_ID.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Tidak ada yang dipilih",noneResultsText:"Tidak ada yang cocok {0}",countSelectedText:"{0} terpilih",maxOptionsText:["Mencapai batas (maksimum {n})","Mencapai batas grup (maksimum {n})"],selectAllText:"Pilih Semua",deselectAllText:"Hapus Semua",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-it_IT.js b/assets/lib/bootstrap-select/js/i18n/defaults-it_IT.js new file mode 100644 index 0000000..cd154c1 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-it_IT.js @@ -0,0 +1,35 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nessuna selezione', + noneResultsText: 'Nessun risultato per {0}', + countSelectedText: 'Selezionati {0} di {1}', + maxOptionsText: ['Limite raggiunto ({n} {var} max)', 'Limite del gruppo raggiunto ({n} {var} max)', ['elementi', 'elemento']], + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-it_IT.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-it_IT.min.js new file mode 100644 index 0000000..f66fb1e --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-it_IT.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nessuna selezione",noneResultsText:"Nessun risultato per {0}",countSelectedText:"Selezionati {0} di {1}",maxOptionsText:["Limite raggiunto ({n} {var} max)","Limite del gruppo raggiunto ({n} {var} max)",["elementi","elemento"]],multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-ko_KR.js b/assets/lib/bootstrap-select/js/i18n/defaults-ko_KR.js new file mode 100644 index 0000000..54b8d60 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-ko_KR.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: '항목을 선택해주세요', + noneResultsText: '{0} 검색 결과가 없습니다', + countSelectedText: function (numSelected, numTotal) { + return "{0}개를 선택하였습니다"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + '{n}개까지 선택 가능합니다', + '해당 그룹은 {n}개까지 선택 가능합니다' + ]; + }, + selectAllText: '전체선택', + deselectAllText: '전체해제', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-ko_KR.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-ko_KR.min.js new file mode 100644 index 0000000..822ad64 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-ko_KR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"항목을 선택해주세요",noneResultsText:"{0} 검색 결과가 없습니다",countSelectedText:function(a,b){return"{0}개를 선택하였습니다"},maxOptionsText:function(a,b){return["{n}개까지 선택 가능합니다","해당 그룹은 {n}개까지 선택 가능합니다"]},selectAllText:"전체선택",deselectAllText:"전체해제",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-lt_LT.js b/assets/lib/bootstrap-select/js/i18n/defaults-lt_LT.js new file mode 100644 index 0000000..6c4dbab --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-lt_LT.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Niekas nepasirinkta', + noneResultsText: 'Niekas nesutapo su {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} elementas pasirinktas" : "{0} elementai(-ų) pasirinkta"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + (numAll == 1) ? 'Pasiekta riba ({n} elementas daugiausiai)' : 'Riba pasiekta ({n} elementai(-ų) daugiausiai)', + (numGroup == 1) ? 'Grupės riba pasiekta ({n} elementas daugiausiai)' : 'Grupės riba pasiekta ({n} elementai(-ų) daugiausiai)' + ]; + }, + selectAllText: 'Pasirinkti visus', + deselectAllText: 'Atmesti visus', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-lt_LT.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-lt_LT.min.js new file mode 100644 index 0000000..ff0cdcb --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-lt_LT.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Niekas nepasirinkta",noneResultsText:"Niekas nesutapo su {0}",countSelectedText:function(a,b){return 1==a?"{0} elementas pasirinktas":"{0} elementai(-ų) pasirinkta"},maxOptionsText:function(a,b){return[1==a?"Pasiekta riba ({n} elementas daugiausiai)":"Riba pasiekta ({n} elementai(-ų) daugiausiai)",1==b?"Grupės riba pasiekta ({n} elementas daugiausiai)":"Grupės riba pasiekta ({n} elementai(-ų) daugiausiai)"]},selectAllText:"Pasirinkti visus",deselectAllText:"Atmesti visus",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-nb_NO.js b/assets/lib/bootstrap-select/js/i18n/defaults-nb_NO.js new file mode 100644 index 0000000..2f1f9b9 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-nb_NO.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Ingen valgt', + noneResultsText: 'Søket gir ingen treff {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} alternativ valgt" : "{0} alternativer valgt"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + (numAll == 1) ? 'Grense nådd (maks {n} valg)' : 'Grense nådd (maks {n} valg)', + (numGroup == 1) ? 'Grense for grupper nådd (maks {n} grupper)' : 'Grense for grupper nådd (maks {n} grupper)' + ]; + }, + selectAllText: 'Merk alle', + deselectAllText: 'Fjern alle', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-nb_NO.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-nb_NO.min.js new file mode 100644 index 0000000..2eff722 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-nb_NO.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ingen valgt",noneResultsText:"Søket gir ingen treff {0}",countSelectedText:function(a,b){return 1==a?"{0} alternativ valgt":"{0} alternativer valgt"},maxOptionsText:function(a,b){return["Grense nådd (maks {n} valg)","Grense for grupper nådd (maks {n} grupper)"]},selectAllText:"Merk alle",deselectAllText:"Fjern alle",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-nl_NL.js b/assets/lib/bootstrap-select/js/i18n/defaults-nl_NL.js new file mode 100644 index 0000000..fa6c95a --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-nl_NL.js @@ -0,0 +1,35 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Niets geselecteerd', + noneResultsText: 'Geen resultaten gevonden voor {0}', + countSelectedText: '{0} van {1} geselecteerd', + maxOptionsText: ['Limiet bereikt ({n} {var} max)', 'Groep limiet bereikt ({n} {var} max)', ['items', 'item']], + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-nl_NL.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-nl_NL.min.js new file mode 100644 index 0000000..d2bc9d2 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-nl_NL.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Niets geselecteerd",noneResultsText:"Geen resultaten gevonden voor {0}",countSelectedText:"{0} van {1} geselecteerd",maxOptionsText:["Limiet bereikt ({n} {var} max)","Groep limiet bereikt ({n} {var} max)",["items","item"]],multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-pl_PL.js b/assets/lib/bootstrap-select/js/i18n/defaults-pl_PL.js new file mode 100644 index 0000000..c75ee1f --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-pl_PL.js @@ -0,0 +1,37 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nic nie zaznaczono', + noneResultsText: 'Brak wyników wyszukiwania {0}', + countSelectedText: 'Zaznaczono {0} z {1}', + maxOptionsText: ['Osiągnięto limit ({n} {var} max)', 'Limit grupy osiągnięty ({n} {var} max)', ['elementy', 'element']], + selectAll: 'Zaznacz wszystkie', + deselectAll: 'Odznacz wszystkie', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-pl_PL.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-pl_PL.min.js new file mode 100644 index 0000000..078297f --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-pl_PL.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic nie zaznaczono",noneResultsText:"Brak wyników wyszukiwania {0}",countSelectedText:"Zaznaczono {0} z {1}",maxOptionsText:["Osiągnięto limit ({n} {var} max)","Limit grupy osiągnięty ({n} {var} max)",["elementy","element"]],selectAll:"Zaznacz wszystkie",deselectAll:"Odznacz wszystkie",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-pt_BR.js b/assets/lib/bootstrap-select/js/i18n/defaults-pt_BR.js new file mode 100644 index 0000000..82e4e7e --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-pt_BR.js @@ -0,0 +1,35 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nada selecionado', + noneResultsText: 'Nada encontrado contendo {0}', + countSelectedText: 'Selecionado {0} de {1}', + maxOptionsText: ['Limite excedido (máx. {n} {var})', 'Limite do grupo excedido (máx. {n} {var})', ['itens', 'item']], + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-pt_BR.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-pt_BR.min.js new file mode 100644 index 0000000..3f41135 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-pt_BR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nada selecionado",noneResultsText:"Nada encontrado contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite excedido (máx. {n} {var})","Limite do grupo excedido (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-pt_PT.js b/assets/lib/bootstrap-select/js/i18n/defaults-pt_PT.js new file mode 100644 index 0000000..6d05953 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-pt_PT.js @@ -0,0 +1,35 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { +$.fn.selectpicker.defaults = { +noneSelectedText: 'Nenhum seleccionado', +noneResultsText: 'Sem resultados contendo {0}', +countSelectedText: 'Selecionado {0} de {1}', +maxOptionsText: ['Limite ultrapassado (máx. {n} {var})', 'Limite de seleções ultrapassado (máx. {n} {var})', ['itens', 'item']], +multipleSeparator: ', ' +}; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-pt_PT.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-pt_PT.min.js new file mode 100644 index 0000000..05a667b --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-pt_PT.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nenhum seleccionado",noneResultsText:"Sem resultados contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite ultrapassado (máx. {n} {var})","Limite de seleções ultrapassado (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-ro_RO.js b/assets/lib/bootstrap-select/js/i18n/defaults-ro_RO.js new file mode 100644 index 0000000..9e234d7 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-ro_RO.js @@ -0,0 +1,35 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nu a fost selectat nimic', + noneResultsText: 'Nu exista niciun rezultat {0}', + countSelectedText: '{0} din {1} selectat(e)', + maxOptionsText: ['Limita a fost atinsa ({n} {var} max)', 'Limita de grup a fost atinsa ({n} {var} max)', ['iteme', 'item']], + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-ro_RO.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-ro_RO.min.js new file mode 100644 index 0000000..19570c1 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-ro_RO.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nu a fost selectat nimic",noneResultsText:"Nu exista niciun rezultat {0}",countSelectedText:"{0} din {1} selectat(e)",maxOptionsText:["Limita a fost atinsa ({n} {var} max)","Limita de grup a fost atinsa ({n} {var} max)",["iteme","item"]],multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-ru_RU.js b/assets/lib/bootstrap-select/js/i18n/defaults-ru_RU.js new file mode 100644 index 0000000..4bc3d90 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-ru_RU.js @@ -0,0 +1,36 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Ничего не выбрано', + noneResultsText: 'Совпадений не найдено {0}', + countSelectedText: 'Выбрано {0} из {1}', + maxOptionsText: ['Достигнут предел ({n} {var} максимум)', 'Достигнут предел в группе ({n} {var} максимум)', ['items', 'item']], + doneButtonText: 'Закрыть', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-ru_RU.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-ru_RU.min.js new file mode 100644 index 0000000..97983a3 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-ru_RU.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ничего не выбрано",noneResultsText:"Совпадений не найдено {0}",countSelectedText:"Выбрано {0} из {1}",maxOptionsText:["Достигнут предел ({n} {var} максимум)","Достигнут предел в группе ({n} {var} максимум)",["items","item"]],doneButtonText:"Закрыть",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-sk_SK.js b/assets/lib/bootstrap-select/js/i18n/defaults-sk_SK.js new file mode 100644 index 0000000..d9083ab --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-sk_SK.js @@ -0,0 +1,37 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Vyberte zo zoznamu', + noneResultsText: 'Pre výraz {0} neboli nájdené žiadne výsledky', + countSelectedText: 'Vybrané {0} z {1}', + maxOptionsText: ['Limit prekročený ({n} {var} max)', 'Limit skupiny prekročený ({n} {var} max)', ['položiek', 'položka']], + selectAllText: 'Vybrať všetky', + deselectAllText: 'Zrušiť výber', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-sk_SK.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-sk_SK.min.js new file mode 100644 index 0000000..ca58430 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-sk_SK.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Vyberte zo zoznamu",noneResultsText:"Pre výraz {0} neboli nájdené žiadne výsledky",countSelectedText:"Vybrané {0} z {1}",maxOptionsText:["Limit prekročený ({n} {var} max)","Limit skupiny prekročený ({n} {var} max)",["položiek","položka"]],selectAllText:"Vybrať všetky",deselectAllText:"Zrušiť výber",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-sl_SI.js b/assets/lib/bootstrap-select/js/i18n/defaults-sl_SI.js new file mode 100644 index 0000000..3c57537 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-sl_SI.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nič izbranega', + noneResultsText: 'Ni zadetkov za {0}', + countSelectedText: function (numSelected, numTotal) { + "Število izbranih: {0}"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + 'Omejitev dosežena (max. izbranih: {n})', + 'Omejitev skupine dosežena (max. izbranih: {n})' + ]; + }, + selectAllText: 'Izberi vse', + deselectAllText: 'Počisti izbor', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-sl_SI.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-sl_SI.min.js new file mode 100644 index 0000000..c00ae9e --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-sl_SI.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nič izbranega",noneResultsText:"Ni zadetkov za {0}",countSelectedText:function(a,b){"Število izbranih: {0}"},maxOptionsText:function(a,b){return["Omejitev dosežena (max. izbranih: {n})","Omejitev skupine dosežena (max. izbranih: {n})"]},selectAllText:"Izberi vse",deselectAllText:"Počisti izbor",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-sv_SE.js b/assets/lib/bootstrap-select/js/i18n/defaults-sv_SE.js new file mode 100644 index 0000000..b764896 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-sv_SE.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Inget valt', + noneResultsText: 'Inget sökresultat matchar {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected === 1) ? "{0} alternativ valt" : "{0} alternativ valda"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + 'Gräns uppnåd (max {n} alternativ)', + 'Gräns uppnåd (max {n} gruppalternativ)' + ]; + }, + selectAllText: 'Markera alla', + deselectAllText: 'Avmarkera alla', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-sv_SE.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-sv_SE.min.js new file mode 100644 index 0000000..2e82662 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-sv_SE.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Inget valt",noneResultsText:"Inget sökresultat matchar {0}",countSelectedText:function(a,b){return 1===a?"{0} alternativ valt":"{0} alternativ valda"},maxOptionsText:function(a,b){return["Gräns uppnåd (max {n} alternativ)","Gräns uppnåd (max {n} gruppalternativ)"]},selectAllText:"Markera alla",deselectAllText:"Avmarkera alla",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-tr_TR.js b/assets/lib/bootstrap-select/js/i18n/defaults-tr_TR.js new file mode 100644 index 0000000..b03cf55 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-tr_TR.js @@ -0,0 +1,44 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Hiçbiri seçilmedi', + noneResultsText: 'Hiçbir sonuç bulunamadı {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} öğe seçildi" : "{0} öğe seçildi"; + }, + maxOptionsText: function (numAll, numGroup) { + return [ + (numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)', + (numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' + ]; + }, + selectAllText: 'Tümünü Seç', + deselectAllText: 'Seçiniz', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-tr_TR.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-tr_TR.min.js new file mode 100644 index 0000000..7a7c696 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-tr_TR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hiçbiri seçilmedi",noneResultsText:"Hiçbir sonuç bulunamadı {0}",countSelectedText:function(a,b){return"{0} öğe seçildi"},maxOptionsText:function(a,b){return[1==a?"Limit aşıldı (maksimum {n} sayıda öğe )":"Limit aşıldı (maksimum {n} sayıda öğe)","Grup limiti aşıldı (maksimum {n} sayıda öğe)"]},selectAllText:"Tümünü Seç",deselectAllText:"Seçiniz",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-ua_UA.js b/assets/lib/bootstrap-select/js/i18n/defaults-ua_UA.js new file mode 100644 index 0000000..690523c --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-ua_UA.js @@ -0,0 +1,35 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Нічого не вибрано', + noneResultsText: 'Збігів не знайдено {0}', + countSelectedText: 'Вибрано {0} із {1}', + maxOptionsText: ['Досягнута межа ({n} {var} максимум)', 'Досягнута межа в групі ({n} {var} максимум)', ['items', 'item']], + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-ua_UA.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-ua_UA.min.js new file mode 100644 index 0000000..6ce4b89 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-ua_UA.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нічого не вибрано",noneResultsText:"Збігів не знайдено {0}",countSelectedText:"Вибрано {0} із {1}",maxOptionsText:["Досягнута межа ({n} {var} максимум)","Досягнута межа в групі ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-zh_CN.js b/assets/lib/bootstrap-select/js/i18n/defaults-zh_CN.js new file mode 100644 index 0000000..3d1582f --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-zh_CN.js @@ -0,0 +1,35 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: '没有选中任何项', + noneResultsText: '没有找到匹配项', + countSelectedText: '选中{1}中的{0}项', + maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'], + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-zh_CN.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-zh_CN.min.js new file mode 100644 index 0000000..ff0c88d --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-zh_CN.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"没有选中任何项",noneResultsText:"没有找到匹配项",countSelectedText:"选中{1}中的{0}项",maxOptionsText:["超出限制 (最多选择{n}项)","组选择超出限制(最多选择{n}组)"],multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-zh_TW.js b/assets/lib/bootstrap-select/js/i18n/defaults-zh_TW.js new file mode 100644 index 0000000..5da8ea4 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-zh_TW.js @@ -0,0 +1,37 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module unless amdModuleId is set + define(["jquery"], function (a0) { + return (factory(a0)); + }); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +}(this, function (jQuery) { + +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: '沒有選取任何項目', + noneResultsText: '沒有找到符合的結果', + countSelectedText: '已經選取{0}個項目', + maxOptionsText: ['超過限制 (最多選擇{n}項)', '超過限制(最多選擇{n}組)'], + selectAllText: '選取全部', + deselectAllText: '全部取消', + multipleSeparator: ', ' + }; +})(jQuery); + + +})); diff --git a/assets/lib/bootstrap-select/js/i18n/defaults-zh_TW.min.js b/assets/lib/bootstrap-select/js/i18n/defaults-zh_TW.min.js new file mode 100644 index 0000000..68454e1 --- /dev/null +++ b/assets/lib/bootstrap-select/js/i18n/defaults-zh_TW.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){a.fn.selectpicker.defaults={noneSelectedText:"沒有選取任何項目",noneResultsText:"沒有找到符合的結果",countSelectedText:"已經選取{0}個項目",maxOptionsText:["超過限制 (最多選擇{n}項)","超過限制(最多選擇{n}組)"],selectAllText:"選取全部",deselectAllText:"全部取消",multipleSeparator:", "}}(a)}); \ No newline at end of file diff --git a/data.xlsx b/data.xlsx deleted file mode 100644 index 13dce20..0000000 Binary files a/data.xlsx and /dev/null differ diff --git a/projects/models.py b/projects/models.py index b188e65..0f02d42 100644 --- a/projects/models.py +++ b/projects/models.py @@ -108,7 +108,7 @@ class Candidate(models.Model): status = models.BooleanField(default=False) def __str__(self): - return self.user.get_full_name() + return self.answer.user.get_full_name() class Meta: verbose_name = 'Кандидат' diff --git a/projects/templates/projects/comparison.html b/projects/templates/projects/comparison.html index ca8ca0c..6817cfa 100644 --- a/projects/templates/projects/comparison.html +++ b/projects/templates/projects/comparison.html @@ -1,4 +1,5 @@ -{% extends "base.html" %} + +{% extends 'partials/base.html' %} {% load staticfiles %} {% block content %}
    diff --git a/projects/templates/projects/portfolio_form.html b/projects/templates/projects/portfolio_form.html index f2dc34a..95b8a4e 100644 --- a/projects/templates/projects/portfolio_form.html +++ b/projects/templates/projects/portfolio_form.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends 'partials/base.html' %} {% block content %}

    Добавление

    diff --git a/projects/templates/projects/project_detail.html b/projects/templates/projects/project_detail.html index 22cb98b..25fadab 100644 --- a/projects/templates/projects/project_detail.html +++ b/projects/templates/projects/project_detail.html @@ -1,8 +1,8 @@ -{% extends "base.html" %} +{% extends 'partials/base.html' %} {% load staticfiles %} {% block content %} {% load humanize %} - {% load l10n %} +

    {{ object }}

    diff --git a/projects/templates/projects/project_detail1.html b/projects/templates/projects/project_detail1.html deleted file mode 100644 index 7aa812f..0000000 --- a/projects/templates/projects/project_detail1.html +++ /dev/null @@ -1,279 +0,0 @@ -{% extends "base.html" %} -{#{% block content %}#} - - -{#{% endblock %}#} -{% block content %} -
    -
    -
    -

    {{ object }}

    -
    -
    -
    -
    -
    - execitor-image -
    -

    - {{ object.get_full_name }} -

    - - -
    -
    -
    -

    - Специализации: -

    - -
    - Интерьеры -
    -
    - Визуализация/3D -
    -
    -
    -
    -
      -
    • - 13.0.2016 -
    • -
    • - Техническое сопровождение -
    • -
    -
    -
    -

    Есть допуск СРО

    -
    -
    -
    -
    -
    -
    -
      -
    • - Местоположение: Россия, Москва -
    • -
    • - Классификация здания: Коттедж -
    • -
    • - Вид строительства: Новое -
    • -
    -
    -
    -

    - {{ object.text }} -

    -
    - -
    -
    -
    -

    Исполнители

    -
    -
    -
    - - - -
    -
    -
    -
    -
    -

    Сравнить кандидатов

    -
    -
    - {% if perms.projects.add_answer %} - -

    Оставить ответ

    - - {{ form.errors }} - {% csrf_token %} - - {% for field in form %} -
    - {{ field.label }} - {{ field }} -
    - {% endfor %} - - - {% endif %} -
    -

    Новые исполнители

    -
    -
    - - {% for answer in object.answers.all %} -
    -
    -
    - execitor-image -
    -

    - Иванов Петр Иванович [ivanov_petr] -

    - -
    Свободен
    -
    -
    - -
    -
    -

    Есть допуск СРО

    -
    -
    -
    -

    Цена: - {{ answer.cost }} - -

    -

    - Срок: {{ answer.term }} {{ answer.term_type }} -

    -

    Опубликован:{{ answer.created }}

    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    - Иванов Петр Иванович -

    - - 13.0.2016 / 21:05 - -
    - - - - - -
    -

    - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Proin sodales pulvinar tempor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam fermentum, nulla luctus pharetra vulputate, felis tellus mollis orci, sed rhoncus sapien nunc eget odio. -

    -
    -
    -
    -
    -

    - Иванов Петр Иванович -

    - - 13.0.2016 / 21:05 - -

    - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Proin sodales pulvinar tempor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam fermentum, nulla luctus pharetra vulputate, felis tellus mollis orci, sed rhoncus sapien nunc eget odio. -

    - - Ответить - -
    -
    -
    -
    - {% endfor %} -
    -
    - -
    - -{% endblock %} diff --git a/projects/templates/projects/project_form.html b/projects/templates/projects/project_form.html index 8685b88..6b4fea0 100644 --- a/projects/templates/projects/project_form.html +++ b/projects/templates/projects/project_form.html @@ -1,6 +1,4 @@ -{% extends "base.html" %} - - +{% extends 'partials/base.html' %} {% block content %}
    diff --git a/projects/templates/projects/project_list.html b/projects/templates/projects/project_list.html index 52c77a2..84e7a07 100644 --- a/projects/templates/projects/project_list.html +++ b/projects/templates/projects/project_list.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends 'partials/base.html' %} {% block content %}
    diff --git a/specializations/templates/specializations/specialization_detail.html b/specializations/templates/specializations/specialization_detail.html index aa5eb66..efe0bbe 100644 --- a/specializations/templates/specializations/specialization_detail.html +++ b/specializations/templates/specializations/specialization_detail.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends 'partials/base.html' %} {% block content %} {{ object }} {% endblock %} diff --git a/specializations/templates/specializations/specialization_list.html b/specializations/templates/specializations/specialization_list.html index 37e8f3b..6dada02 100644 --- a/specializations/templates/specializations/specialization_list.html +++ b/specializations/templates/specializations/specialization_list.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends 'partials/base.html' %} {% block content %}

    Специализации

    {% load mptt_tags %} diff --git a/templates/_layout.html b/templates/_layout.html deleted file mode 100644 index cec107f..0000000 --- a/templates/_layout.html +++ /dev/null @@ -1,25 +0,0 @@ -{% load staticfiles %} - - - - - - - - - - - - - - - - -{% block content %}{% endblock %} - - - - - - diff --git a/templates/archilance/home.html b/templates/archilance/home.html deleted file mode 100644 index 2b89e95..0000000 --- a/templates/archilance/home.html +++ /dev/null @@ -1 +0,0 @@ -{% extends 'base2.html' %} diff --git a/templates/base.html b/templates/base.html deleted file mode 100644 index b0113dc..0000000 --- a/templates/base.html +++ /dev/null @@ -1,133 +0,0 @@ -{% load staticfiles %} - - - - - - - Archilance - - - - - - - - - - -
    -
    -
    -
    - -
    -
    - -
    - -
    -
    -
    -
    -
    - {% block content %} - - {% endblock %} - -
    -
    - - - - - -{% block js_block %} {% endblock %} - - diff --git a/templates/base2.html b/templates/home.html similarity index 75% rename from templates/base2.html rename to templates/home.html index 27dbb1f..a2a2189 100644 --- a/templates/base2.html +++ b/templates/home.html @@ -1,20 +1,9 @@ +{% extends 'partials/base.html' %} + {% load staticfiles %} - - - - - - - Archilance - - - - - - - + + +{% block content %}
    @@ -86,8 +75,4 @@
    - - - - - +{% endblock %} diff --git a/templates/main.html b/templates/main.html deleted file mode 100644 index f45ff2d..0000000 --- a/templates/main.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - Archilance - - - - - - -
    - -
    -
    -

    Основная задача сайта

    -
    -
    -
    -
    -
    -
    - Я исполнитель -

    - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. -

    -
    -
    -
    -
    -
    -
    -
    - Я исполнитель -

    - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. -

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/templates/partials/base.html b/templates/partials/base.html new file mode 100644 index 0000000..28cc497 --- /dev/null +++ b/templates/partials/base.html @@ -0,0 +1,34 @@ +{% load staticfiles %} + + + + + + + + + +Archilance + + + + + + + + + + + + + + +{% block content %}{% endblock %} + + + + + + + + diff --git a/templates/registration/login.html b/templates/registration/login.html index c50dcfb..f94e158 100644 --- a/templates/registration/login.html +++ b/templates/registration/login.html @@ -1,4 +1,5 @@ -{% extends 'base.html' %} +{% extends 'partials/base.html' %} + {% block content %}

    Вход на сайт

    @@ -18,5 +19,4 @@
    - {% endblock %} diff --git a/templates/registration/registration_form.html b/templates/registration/registration_form.html index 21bdfe8..109486b 100644 --- a/templates/registration/registration_form.html +++ b/templates/registration/registration_form.html @@ -1,4 +1,5 @@ -{% extends 'base.html' %} +{% extends 'partials/base.html' %} + {% block content %}

    Регистрация

    diff --git a/test.py b/test.py deleted file mode 100644 index d3f7e44..0000000 --- a/test.py +++ /dev/null @@ -1,5 +0,0 @@ -import xlrd -rb = xlrd.open_workbook('data.xlsx') -sheet = rb.sheet_by_index(0) -for rx in range(sheet.nrows): - print(sheet.row(rx)) diff --git a/users/templates/users/contractor.html b/users/templates/users/contractor.html index 1a8e17a..50f2e13 100644 --- a/users/templates/users/contractor.html +++ b/users/templates/users/contractor.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends 'partials/base.html' %} {% block content %} diff --git a/users/templates/users/contractor_list.html b/users/templates/users/contractor_list.html index 9b073eb..18492fa 100644 --- a/users/templates/users/contractor_list.html +++ b/users/templates/users/contractor_list.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends 'partials/base.html' %} {% block content %} diff --git a/users/templates/users/customer.html b/users/templates/users/customer.html index f58bcf1..9fa1040 100644 --- a/users/templates/users/customer.html +++ b/users/templates/users/customer.html @@ -1,4 +1,4 @@ -{% extends 'base.html' %} +{% extends 'partials/base.html' %} {% block content %}
    diff --git a/users/templates/users/login.html b/users/templates/users/login.html index 1ef777b..cf8fe80 100644 --- a/users/templates/users/login.html +++ b/users/templates/users/login.html @@ -1,4 +1,4 @@ -{% extends 'base.html' %} +{% extends 'partials/base.html' %} {% block content %}
    @@ -33,4 +33,4 @@
    -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/users/templates/users/users_info_list.html b/users/templates/users/users_info_list.html index 3648c78..a0b5c10 100644 --- a/users/templates/users/users_info_list.html +++ b/users/templates/users/users_info_list.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends 'partials/base.html' %} {% block content %} @@ -12,4 +12,4 @@

    {{ cust }}

    {% endfor %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/users/templates/users/users_list.html b/users/templates/users/users_list.html index fc507a8..b521206 100644 --- a/users/templates/users/users_list.html +++ b/users/templates/users/users_list.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends 'partials/base.html' %} {% block content %} @@ -58,4 +58,4 @@ {% endfor %}
    -{% endblock %} \ No newline at end of file +{% endblock %}