diff --git a/Bootstrap.Admin/Bootstrap.Admin.csproj b/Bootstrap.Admin/Bootstrap.Admin.csproj index 0ff3a929..64dae381 100644 --- a/Bootstrap.Admin/Bootstrap.Admin.csproj +++ b/Bootstrap.Admin/Bootstrap.Admin.csproj @@ -108,8 +108,6 @@ - - @@ -144,12 +142,8 @@ - - - - @@ -225,8 +219,6 @@ - - diff --git a/Bootstrap.Admin/Content/css/admin.css b/Bootstrap.Admin/Content/css/admin.css index 7216d890..e19c5f98 100644 --- a/Bootstrap.Admin/Content/css/admin.css +++ b/Bootstrap.Admin/Content/css/admin.css @@ -492,3 +492,18 @@ input[type="datetime"] { .mail-box .lg-side .table-inbox tr td:hover { cursor: pointer; } + +.btn-select { +} + + .btn-select .dropdown-menu { + padding: 0; + } + + .btn-select .dropdown-menu li a { + padding: 6px 20px; + } + + .btn-select .dropdown-menu .divider { + margin: 0; + } diff --git a/Bootstrap.Admin/Content/css/bootstrap-select.css b/Bootstrap.Admin/Content/css/bootstrap-select.css deleted file mode 100644 index 2190f3b6..00000000 --- a/Bootstrap.Admin/Content/css/bootstrap-select.css +++ /dev/null @@ -1,293 +0,0 @@ -/*! - * Bootstrap-select v1.11.2 (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.form-control.input-group-btn:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.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; - height: 0 !important; - padding: 0 !important; -} -.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/Bootstrap.Admin/Content/css/bootstrap-select.css.map b/Bootstrap.Admin/Content/css/bootstrap-select.css.map deleted file mode 100644 index dcd254d5..00000000 --- a/Bootstrap.Admin/Content/css/bootstrap-select.css.map +++ /dev/null @@ -1 +0,0 @@ -{"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 &:not(:first-child):not(:last-child) {\n > .btn {\n border-radius: 0;\n }\n }\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 height: 0 !important;\n padding: 0 !important;\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.form-control.input-group-btn:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\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 height: 0 !important;\n padding: 0 !important;\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/Bootstrap.Admin/Content/css/bootstrap-select.min.css b/Bootstrap.Admin/Content/css/bootstrap-select.min.css deleted file mode 100644 index 6cdc93bc..00000000 --- a/Bootstrap.Admin/Content/css/bootstrap-select.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap-select v1.11.2 (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.form-control.input-group-btn:not(:first-child):not(:last-child)>.btn{border-radius:0}.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;height:0!important;padding:0!important}.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/Bootstrap.Admin/Content/js/Longbow.Common.js b/Bootstrap.Admin/Content/js/Longbow.Common.js index eeb02474..ed3973a6 100644 --- a/Bootstrap.Admin/Content/js/Longbow.Common.js +++ b/Bootstrap.Admin/Content/js/Longbow.Common.js @@ -205,6 +205,30 @@ var ctl = $('#' + $(this).attr('id').replace('tb_', 'btn_')); ctl.trigger("click"); }); + }, + select: function () { + var $this = $(this); + $this.each(function (index, element) { + var $element = $(element); + var $select = $element.find('button').first(); + var $options = $element.find('.dropdown-menu > li > a'); + $select.addClass('select').data('options', $options); + $options.on('click', function () { + var $op = $(this); + $select.text($op.text()).attr('data-val', $op.attr('data-val')); + }); + }); + }, + selectval: function (value) { + var $this = $(this); + if (value == undefined) return $this.attr('data-val'); + $this.data('options').each(function (index, element) { + var $op = $(element); + var val = $op.attr('data-val'); + if (value == val) { + $this.text($op.text()).attr('data-val', val); + } + }); } }); })(jQuery); diff --git a/Bootstrap.Admin/Content/js/bootstrap-select.js b/Bootstrap.Admin/Content/js/bootstrap-select.js deleted file mode 100644 index 18779764..00000000 --- a/Bootstrap.Admin/Content/js/bootstrap-select.js +++ /dev/null @@ -1,1888 +0,0 @@ -/*! - * Bootstrap-select v1.11.2 (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; - }; - } - - // set data-selected on select element if the value has been programmatically selected - // prior to initialization of bootstrap-select - // * consider removing or replacing an alternative method * - var valHooks = { - useDefault: false, - _set: $.valHooks.select.set - }; - - $.valHooks.select.set = function(elem, value) { - if (value && !valHooks.useDefault) $(elem).data('selected', true); - - return valHooks._set.apply(this, arguments); - }; - - var changed_arguments = null; - $.fn.triggerNative = function (eventName) { - var el = this[0], - event; - - if (el.dispatchEvent) { // for modern browsers & IE9+ - 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) { // for IE8 - event = document.createEventObject(); - event.eventType = eventName; - el.fireEvent('on' + eventName, event); - } else { - // fall back to jQuery.trigger - this.trigger(eventName); - } - }; - // - - // Case insensitive contains search - $.expr.pseudos.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.pseudos.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.pseudos.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.pseudos.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) { - // bootstrap-select has been initialized - revert valHooks.select.set back to its original function - if (!valHooks.useDefault) { - $.valHooks.select.set = valHooks._set; - valHooks.useDefault = true; - } - - 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.11.2'; - - // 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.$menuInner.attr('aria-expanded', false); - 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.$menuInner.attr('aria-expanded', true); - 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 or data-selected attribute is already set on an option. If not, select the titleOption option. - // the selected item may have been changed by user or programmatically before the bootstrap select plugin runs, - // if so, the select will have the data-selected attribute - var $opt = $(element.options[element.selectedIndex]); - if ($opt.attr('selected') === undefined && this.$element.data('selected') === undefined) { - 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(), - $container = $(that.options.container), - containerPos; - - if (that.options.container && !$container.is('body')) { - containerPos = $container.offset(); - containerPos.top += parseInt($container.css('borderTopWidth')); - containerPos.left += parseInt($container.css('borderLeftWidth')); - } else { - containerPos = { top: 0, left: 0 }; - } - - selectOffsetTop = pos.top - containerPos.top - $window.scrollTop(); - selectOffsetBot = $window.height() - selectOffsetTop - selectHeight - containerPos.top; - selectOffsetLeft = pos.left - containerPos.left - $window.scrollLeft(); - selectOffsetRight = $window.width() - selectOffsetLeft - selectWidth - containerPos.left; - }; - - 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, - $container = $(this.options.container), - pos, - containerPos, - actualHeight, - getPlacement = function ($element) { - that.$bsContainer.addClass($element.attr('class').replace(/form-control|fit-width/gi, '')).toggleClass('dropup', $element.hasClass('dropup')); - pos = $element.offset(); - - if (!$container.is('body')) { - containerPos = $container.offset(); - containerPos.top += parseInt($container.css('borderTopWidth')) - $container.scrollTop(); - containerPos.left += parseInt($container.css('borderLeftWidth')) - $container.scrollLeft(); - } else { - containerPos = { top: 0, left: 0 }; - } - - actualHeight = $element.hasClass('dropup') ? 0 : $element[0].offsetHeight; - - that.$bsContainer.css({ - 'top': pos.top - containerPos.top + actualHeight, - 'left': pos.left - containerPos.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).find('a').attr('aria-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).attr('aria-disabled', true); - } else { - $lis.removeClass('disabled').children('a').removeAttr('href').attr('tabindex', 0).attr('aria-disabled', false); - } - }, - - 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').find('a').attr('aria-selected', false); - 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. - changed_arguments = [clickedIndex, $option.prop('selected'), state]; - that.$element - .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); - that.$element.trigger('changed.bs.select', changed_arguments); - changed_arguments = null; - }); - }, - - 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 - .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="listbox"] 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) { - e.preventDefault(); - e.stopPropagation(); - that.$button.click().focus(); - } - // $items contains li elements when liveSearch is enabled - $items = $('[role="listbox"] 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="listbox"], .bs-searchbox input', Selectpicker.prototype.keydown) - .on('focusin.modal', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .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/Bootstrap.Admin/Content/js/bootstrap-select.js.map b/Bootstrap.Admin/Content/js/bootstrap-select.js.map deleted file mode 100644 index a513f515..00000000 --- a/Bootstrap.Admin/Content/js/bootstrap-select.js.map +++ /dev/null @@ -1 +0,0 @@ -{"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","valHooks","useDefault","_set","select","set","elem","changed_arguments","triggerNative","eventName","el","dispatchEvent","Event","bubbles","document","createEvent","initEvent","fireEvent","createEventObject","eventType","trigger","expr","pseudos","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","containerPos","offset","$container","top","left","scrollTop","height","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","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/Bootstrap.Admin/Content/js/bootstrap-select.min.js b/Bootstrap.Admin/Content/js/bootstrap-select.min.js deleted file mode 100644 index f3e67b42..00000000 --- a/Bootstrap.Admin/Content/js/bootstrap-select.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Bootstrap-select v1.11.2 (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,e=b,f=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 e&&e;if(c){if(i)for(var j in i)i.hasOwnProperty(j)&&(c.options[j]=i[j])}else{var k=a.extend({},g.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),i);k.template=a.extend({},g.DEFAULTS.template,a.fn.selectpicker.defaults?a.fn.selectpicker.defaults.template:{},b.data().template,i.template),b.data("selectpicker",c=new g(this,k,f))}"string"==typeof e&&(h=c[e]instanceof Function?c[e].apply(c,d):c.options[e])}});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},g.prototype={constructor:g,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.$menuInner.attr("aria-expanded",!1),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.$menuInner.attr("aria-expanded",!0),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")&&void 0===this.$element.data("selected")&&(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 b,c=j.$newElement.offset(),d=a(j.options.container);j.options.container&&!d.is("body")?(b=d.offset(),b.top+=parseInt(d.css("borderTopWidth")),b.left+=parseInt(d.css("borderLeftWidth"))):b={top:0,left:0},f=c.top-b.top-m.scrollTop(),g=m.height()-f-n-b.top,h=c.left-b.left-m.scrollLeft(),i=m.width()-h-o-b.left};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,e=this,f=a(this.options.container),g=function(a){e.$bsContainer.addClass(a.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),f.is("body")?c={top:0,left:0}:(c=f.offset(),c.top+=parseInt(f.css("borderTopWidth"))-f.scrollTop(),c.left+=parseInt(f.css("borderLeftWidth"))-f.scrollLeft()),d=a.hasClass("dropup")?0:a[0].offsetHeight,e.$bsContainer.css({top:b.top-c.top+d,left:b.left-c.left,width:a[0].offsetWidth})};this.$button.on("click",function(){var b=a(this);e.isDisabled()||(g(e.$newElement),e.$bsContainer.appendTo(e.options.container).toggleClass("open",!b.hasClass("open")).append(e.$menu))}),a(window).on("resize scroll",function(){g(e.$newElement)}),this.$element.on("hide.bs.select",function(){e.$menu.data("height",e.$menu.height()),e.$bsContainer.detach()})},setSelected:function(a,b,c){c||(this.togglePlaceholder(),c=this.findLis().eq(this.liObj[a])),c.toggleClass("selected",b).find("a").attr("aria-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).attr("aria-disabled",!0):c.removeClass("disabled").children("a").removeAttr("href").attr("tabindex",0).attr("aria-disabled",!1)},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"),g=b.$element.val(),h=b.$element.prop("selectedIndex"),i=!0;if(b.multiple&&1!==b.options.maxOptions&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var j=b.$element.find("option"),k=j.eq(e),l=k.prop("selected"),m=k.parent("optgroup"),n=b.options.maxOptions,o=m.data("maxOptions")||!1;if(b.multiple){if(k.prop("selected",!l),b.setSelected(e,!l),d.blur(),n!==!1||o!==!1){var p=n');t[2]&&(u=u.replace("{var}",t[2][n>1?0:1]),v=v.replace("{var}",t[2][o>1?0:1])),k.prop("selected",!1),b.$menu.append(w),n&&p&&(w.append(a("
    "+u+"
    ")),i=!1,b.$element.trigger("maxReached.bs.select")),o&&q&&(w.append(a("
    "+v+"
    ")),i=!1,b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(e,!1)},10),w.delay(750).fadeOut(300,function(){a(this).remove()})}}}else j.prop("selected",!1),k.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected").find("a").attr("aria-selected",!1),b.setSelected(e,!0);!b.multiple||b.multiple&&1===b.options.maxOptions?b.$button.focus():b.options.liveSearch&&b.$searchbox.focus(),i&&(g!=b.$element.val()&&b.multiple||h!=b.$element.prop("selectedIndex")&&!b.multiple)&&(f=[e,k.prop("selected"),l],b.$element.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),b.$element.trigger("changed.bs.select",f),f=null})},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.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="listbox"] 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&&(c.preventDefault(),c.stopPropagation(),o.$button.click().focus()),d=a('[role="listbox"] 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 h=a.fn.selectpicker;a.fn.selectpicker=d,a.fn.selectpicker.Constructor=g,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=h,this},a(document).data("keycount",0).on("keydown.bs.select",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input',g.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .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/Bootstrap.Admin/Content/js/defaults-zh_CN.js b/Bootstrap.Admin/Content/js/defaults-zh_CN.js deleted file mode 100644 index eb1a0316..00000000 --- a/Bootstrap.Admin/Content/js/defaults-zh_CN.js +++ /dev/null @@ -1,35 +0,0 @@ -/*! - * Bootstrap-select v1.11.2 (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/Bootstrap.Admin/Content/js/defaults-zh_CN.min.js b/Bootstrap.Admin/Content/js/defaults-zh_CN.min.js deleted file mode 100644 index 55f78280..00000000 --- a/Bootstrap.Admin/Content/js/defaults-zh_CN.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.11.2 (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/Bootstrap.Admin/Content/js/longbow.dataentity.js b/Bootstrap.Admin/Content/js/longbow.dataentity.js index c8303358..40c9313a 100644 --- a/Bootstrap.Admin/Content/js/longbow.dataentity.js +++ b/Bootstrap.Admin/Content/js/longbow.dataentity.js @@ -11,7 +11,7 @@ load: function (value) { for (name in this.options.map) { var ctl = $("#" + this.options.map[name]); - if (ctl.hasClass('selectpicker')) ctl.selectpicker('val', value[name]); + if (ctl.hasClass('select')) ctl.selectval(value[name]); else ctl.val(value[name]); } }, @@ -20,7 +20,7 @@ var ctl = $("#" + this.options.map[name]); var dv = ctl.attr("data-default-val"); if (dv === undefined) dv = ""; - if (ctl.hasClass('selectpicker')) ctl.selectpicker('val', dv); + if (ctl.hasClass('select')) ctl.selectval(dv); else ctl.val(dv); } }, @@ -28,9 +28,8 @@ var target = {}; for (name in this.options.map) { var ctl = $("#" + this.options.map[name]); - if (ctl.hasClass('selectpicker')) { - target[name] = ctl.selectpicker('val'); - target[name + 'Name'] = ctl.parentsUntil('bootstrap-select').children('button[data-id="' + this.options.map[name] + '"]').attr('title'); + if (ctl.hasClass('select')) { + target[name] = ctl.selectval(); } else { var dv = ctl.attr('data-default-val'); diff --git a/Bootstrap.Admin/Scripts/Dicts.js b/Bootstrap.Admin/Scripts/Dicts.js index 460c2e95..ca264c43 100644 --- a/Bootstrap.Admin/Scripts/Dicts.js +++ b/Bootstrap.Admin/Scripts/Dicts.js @@ -16,7 +16,7 @@ $('table').smartTable({ url: Dicts.url, sortName: 'Category', - queryParams: function (params) { return $.extend(params, { category: $('#txt_dict_cate').val(), name: $("#txt_dict_name").val(), define: $("#txt_dict_define").val() }); }, + queryParams: function (params) { return $.extend(params, { category: $('#txt_dict_cate').val(), name: $("#txt_dict_name").val(), define: $("#txt_dict_define").selectval() }); }, columns: [{ checkbox: true }, { title: "Id", field: "ID", events: bsa.idEvents(), formatter: BootstrapAdmin.idFormatter }, { title: "字典分项", field: "Category", sortable: true }, @@ -46,7 +46,7 @@ } }); // select - $('select').selectpicker(); + $('.btn-select').select(); // autocomplete $.bc({ diff --git a/Bootstrap.Admin/Scripts/Menus.js b/Bootstrap.Admin/Scripts/Menus.js index 84099346..85a69492 100644 --- a/Bootstrap.Admin/Scripts/Menus.js +++ b/Bootstrap.Admin/Scripts/Menus.js @@ -15,6 +15,7 @@ var $nestMenuInput = $nestMenu.find('div.dd3-content'); var $parentMenuID = $('#parentId'); var $parentMenuName = $('#parentName'); + var $category = $('#category'); $nestMenuInput.find('label:first').hide(); var bsa = new BootstrapAdmin({ @@ -101,7 +102,7 @@ $('table').smartTable({ url: Menu.url, //请求后台的URL(*) sortName: 'Order', - queryParams: function (params) { return $.extend(params, { parentName: $('#txt_parent_menus_name').val(), name: $("#txt_menus_name").val(), category: $('#sel_menus_category').val() }); }, //传递参数(*) + queryParams: function (params) { return $.extend(params, { parentName: $('#txt_parent_menus_name').val(), name: $("#txt_menus_name").val(), category: $('#sel_menus_category').selectval() }); }, //传递参数(*) columns: [{ checkbox: true }, { title: "Id", field: "ID", events: bsa.idEvents(), formatter: BootstrapAdmin.idFormatter }, { title: "父级菜单", field: "ParentName", sortable: true }, @@ -180,13 +181,13 @@ $btnSubmitMenu.data('type', 'order'); $nestMenuInput.find('label:last').find('input').hide(); $nestMenu.find('li.dd-item').hide().remove('[data-id="0"]'); - $nestMenu.find('li[data-category="' + $('#category').selectpicker('val') + '"]').show(); + $nestMenu.find('li[data-category="' + $category.selectval() + '"]').show(); // handler new menu var did = $('#menuID').val(); if (did == "") did = 0; if (did == 0) { var menuName = $('#name').val(); - var menuCate = $('select').selectpicker('val'); + var menuCate = $category.selectval(); if (menuName == "") menuName = "新建菜单-未命名"; $nestMenu.find('ol.dd-list:first').append($.format('
  • ', menuName, menuCate)); } @@ -200,7 +201,7 @@ $btnSubmitMenu.data('type', 'parent'); $nestMenuInput.find('label:last').find('input').show(); $nestMenu.find('li.dd-item').hide().remove('[data-id="0"]'); - $nestMenu.find('li[data-category="' + $('#category').selectpicker('val') + '"]').show(); + $nestMenu.find('li[data-category="' + $category.selectval() + '"]').show(); $dialogMenu.show().adjustDialog(); }); @@ -245,5 +246,5 @@ }); $nestMenu.nestable(); // select - $('select').selectpicker(); + $('.btn-select').select(); }); \ No newline at end of file diff --git a/Bootstrap.Admin/Scripts/_references.js b/Bootstrap.Admin/Scripts/_references.js index e0a1650b..e97ae6ce 100644 Binary files a/Bootstrap.Admin/Scripts/_references.js and b/Bootstrap.Admin/Scripts/_references.js differ diff --git a/Bootstrap.Admin/Views/Admin/Dicts.cshtml b/Bootstrap.Admin/Views/Admin/Dicts.cshtml index 7c9a691f..1fb8308c 100644 --- a/Bootstrap.Admin/Views/Admin/Dicts.cshtml +++ b/Bootstrap.Admin/Views/Admin/Dicts.cshtml @@ -26,11 +26,19 @@
    - +
    + + + +
    @@ -69,10 +77,17 @@
    - +
    + + + +
    diff --git a/Bootstrap.Admin/Views/Admin/Menus.cshtml b/Bootstrap.Admin/Views/Admin/Menus.cshtml index d29e0d4d..b35073d4 100644 --- a/Bootstrap.Admin/Views/Admin/Menus.cshtml +++ b/Bootstrap.Admin/Views/Admin/Menus.cshtml @@ -31,11 +31,19 @@
    - +
    + + + +
    @@ -104,21 +112,35 @@
    -
    +
    - +
    + + + +
    -
    +
    - +
    + + + +
    diff --git a/Bootstrap.Admin/Views/Shared/_Default.cshtml b/Bootstrap.Admin/Views/Shared/_Default.cshtml index ef3444c2..e86bd9ea 100644 --- a/Bootstrap.Admin/Views/Shared/_Default.cshtml +++ b/Bootstrap.Admin/Views/Shared/_Default.cshtml @@ -4,7 +4,6 @@ @section css { - @RenderSection("css", false) } @section header { @@ -20,8 +19,6 @@ - - @RenderSection("Javascript", false) } @section modal {