diff options
| author | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-04-18 01:11:37 +0300 |
|---|---|---|
| committer | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-04-18 01:11:37 +0300 |
| commit | 2b6970d33afd75be5bfef951dc3691d492004d43 (patch) | |
| tree | 39eba4206ca0c4cd3fecd5ead95580a74e50f3f9 /public/assets/js/DataTables/StateRestore-1.2.2 | |
| parent | 68fc9e55e538e03f94509731ab41a0c8cf96710f (diff) | |
| download | classroom-2b6970d33afd75be5bfef951dc3691d492004d43.tar.gz classroom-2b6970d33afd75be5bfef951dc3691d492004d43.tar.bz2 classroom-2b6970d33afd75be5bfef951dc3691d492004d43.zip | |
admin back-office environment (skeleton); admin categories
Diffstat (limited to 'public/assets/js/DataTables/StateRestore-1.2.2')
34 files changed, 4731 insertions, 0 deletions
diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap.css new file mode 100644 index 0000000..e08f87a --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap.css @@ -0,0 +1,200 @@ +div.dtsr-confirmation, div.dtsr-creation { + position: fixed; + top: 20%; + left: 50%; + width: 500px; + background-color: white; + margin-left: -250px; + border-radius: 6px; + box-shadow: 0 0 5px #555; + border: 2px solid #444; + z-index: 2003; + box-sizing: border-box; + padding: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row, div.dtsr-creation div.dtsr-confirmation-title-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row h2, div.dtsr-creation div.dtsr-confirmation-title-row h2 { + border-bottom: 0px; + margin-top: 0px; + padding-top: 0px; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: center; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons, div.dtsr-creation div.dtsr-confirmation-buttons { + text-align: right; + margin-top: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button, div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button { + margin: 0px; +} +div.dtsr-confirmation div.dtsr-creation-text, div.dtsr-creation div.dtsr-creation-text { + text-align: left; + padding: 0px; + border: none; +} +div.dtsr-confirmation div.dtsr-creation-text span, div.dtsr-creation div.dtsr-creation-text span { + font-size: 20px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-right { + display: inline-block; + width: 50%; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-left { + text-align: right; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row, div.dtsr-creation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: right; + padding-right: 15px; + padding-left: 15px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title { + margin-right: -33.3%; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label, div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label { + width: auto; + display: inline-block; + text-align: right; + padding-right: 15px; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-modal-foot, div.dtsr-creation div.dtsr-modal-foot { + text-align: right; + padding-top: 10px; +} +div.dtsr-confirmation span.dtsr-modal-error, div.dtsr-creation span.dtsr-modal-error { + color: red; + font-size: 0.9em; +} + +div.dtsr-creation { + top: 10%; +} + +div.dtsr-form-row { + padding: 10px; +} + +div.dtsr-check-row { + padding-top: 0px; +} + +div.dtsr-creation-text { + padding: 10px; +} + +div.dtsr-popover-close { + position: absolute; + top: 10px; + right: 10px; + width: 22px; + height: 22px; + border: 1px solid #eaeaea; + background-color: #f9f9f9; + text-align: center; + border-radius: 3px; + cursor: pointer; + z-index: 12; +} + +div.dtsr-background { + z-index: 2002; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.7); + background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); +} + +div.dt-button-collection h3 { + text-align: center; + margin-top: 4px; + margin-bottom: 8px; + font-size: 1.5em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +div.dt-button-collection span.dtsr-emptyStates { + border-radius: 5px; + display: inline-block; + line-height: 1.6em; + white-space: nowrap; + text-align: center; + vertical-align: middle; + width: 100%; + padding-bottom: 7px; + padding-top: 3px; +} + +span.dtsr-check-label { + padding-left: 3px; +} + +div.dt-button-collection h3 { + margin-top: 8px; +} +div.dt-button-collection ul.dropdown-menu { + padding-top: 0px; +} +div.dt-button-collection ul.dropdown-menu div.dt-btn-split-wrapper { + width: 96% !important; + margin-left: 4px !important; + margin-top: 4px; +} +div.dt-button-collection ul.dropdown-menu div.dt-btn-split-wrapper button.btn { + width: calc(100% - 32px); +} +div.dt-button-collection ul.dropdown-menu div.dt-btn-split-wrapper button.dt-btn-split-drop { + width: 32px; +} + +div.dt-button-split-left div.dropdown-menu { + padding-left: 4px; + padding-right: 4px; + padding-top: 0px; +} +div.dt-button-split-left div.dropdown-menu button.dt-btn-split-drop-button { + background-color: white; + border: 1px solid rgb(204, 204, 204); + border-radius: 4px; + margin-top: 4px; +} +div.dt-button-split-left div.dropdown-menu button.dt-btn-split-drop-button:hover { + background-color: #f5f5f5; +} + +input.dtsr-input { + display: inline-block; + width: auto; + margin-left: 3px; +} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap.min.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap.min.css new file mode 100644 index 0000000..a80afa3 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap.min.css @@ -0,0 +1 @@ +div.dtsr-confirmation,div.dtsr-creation{position:fixed;top:20%;left:50%;width:500px;background-color:white;margin-left:-250px;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:2003;box-sizing:border-box;padding:1em}div.dtsr-confirmation div.dtsr-confirmation-title-row,div.dtsr-creation div.dtsr-confirmation-title-row{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-title-row h2,div.dtsr-creation div.dtsr-confirmation-title-row h2{border-bottom:0px;margin-top:0px;padding-top:0px}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:center}div.dtsr-confirmation div.dtsr-confirmation-buttons,div.dtsr-creation div.dtsr-confirmation-buttons{text-align:right;margin-top:1em}div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button,div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button{margin:0px}div.dtsr-confirmation div.dtsr-creation-text,div.dtsr-creation div.dtsr-creation-text{text-align:left;padding:0px;border:none}div.dtsr-confirmation div.dtsr-creation-text span,div.dtsr-creation div.dtsr-creation-text span{font-size:20px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-right{display:inline-block;width:50%}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-left{text-align:right}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row,div.dtsr-creation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row{text-align:left}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label{width:33.3%;display:inline-block;text-align:right;padding-right:15px;padding-left:15px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title{margin-right:-33.3%}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label,div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label{width:auto;display:inline-block;text-align:right;padding-right:15px}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-modal-foot,div.dtsr-creation div.dtsr-modal-foot{text-align:right;padding-top:10px}div.dtsr-confirmation span.dtsr-modal-error,div.dtsr-creation span.dtsr-modal-error{color:red;font-size:.9em}div.dtsr-creation{top:10%}div.dtsr-form-row{padding:10px}div.dtsr-check-row{padding-top:0px}div.dtsr-creation-text{padding:10px}div.dtsr-popover-close{position:absolute;top:10px;right:10px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtsr-background{z-index:2002;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%)}div.dt-button-collection h3{text-align:center;margin-top:4px;margin-bottom:8px;font-size:1.5em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.dt-button-collection span.dtsr-emptyStates{border-radius:5px;display:inline-block;line-height:1.6em;white-space:nowrap;text-align:center;vertical-align:middle;width:100%;padding-bottom:7px;padding-top:3px}span.dtsr-check-label{padding-left:3px}div.dt-button-collection h3{margin-top:8px}div.dt-button-collection ul.dropdown-menu{padding-top:0px}div.dt-button-collection ul.dropdown-menu div.dt-btn-split-wrapper{width:96% !important;margin-left:4px !important;margin-top:4px}div.dt-button-collection ul.dropdown-menu div.dt-btn-split-wrapper button.btn{width:calc(100% - 32px)}div.dt-button-collection ul.dropdown-menu div.dt-btn-split-wrapper button.dt-btn-split-drop{width:32px}div.dt-button-split-left div.dropdown-menu{padding-left:4px;padding-right:4px;padding-top:0px}div.dt-button-split-left div.dropdown-menu button.dt-btn-split-drop-button{background-color:white;border:1px solid rgb(204, 204, 204);border-radius:4px;margin-top:4px}div.dt-button-split-left div.dropdown-menu button.dt-btn-split-drop-button:hover{background-color:#f5f5f5}input.dtsr-input{display:inline-block;width:auto;margin-left:3px} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap4.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap4.css new file mode 100644 index 0000000..5137698 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap4.css @@ -0,0 +1,231 @@ +div.dtsr-confirmation, div.dtsr-creation { + position: fixed; + top: 20%; + left: 50%; + width: 500px; + background-color: white; + margin-left: -250px; + border-radius: 6px; + box-shadow: 0 0 5px #555; + border: 2px solid #444; + z-index: 2003; + box-sizing: border-box; + padding: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row, div.dtsr-creation div.dtsr-confirmation-title-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row h2, div.dtsr-creation div.dtsr-confirmation-title-row h2 { + border-bottom: 0px; + margin-top: 0px; + padding-top: 0px; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: center; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons, div.dtsr-creation div.dtsr-confirmation-buttons { + text-align: right; + margin-top: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button, div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button { + margin: 0px; +} +div.dtsr-confirmation div.dtsr-creation-text, div.dtsr-creation div.dtsr-creation-text { + text-align: left; + padding: 0px; + border: none; +} +div.dtsr-confirmation div.dtsr-creation-text span, div.dtsr-creation div.dtsr-creation-text span { + font-size: 20px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-right { + display: inline-block; + width: 50%; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-left { + text-align: right; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row, div.dtsr-creation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: right; + padding-right: 15px; + padding-left: 15px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title { + margin-right: -33.3%; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label, div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label { + width: auto; + display: inline-block; + text-align: right; + padding-right: 15px; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-modal-foot, div.dtsr-creation div.dtsr-modal-foot { + text-align: right; + padding-top: 10px; +} +div.dtsr-confirmation span.dtsr-modal-error, div.dtsr-creation span.dtsr-modal-error { + color: red; + font-size: 0.9em; +} + +div.dtsr-creation { + top: 10%; +} + +div.dtsr-form-row { + padding: 10px; +} + +div.dtsr-check-row { + padding-top: 0px; +} + +div.dtsr-creation-text { + padding: 10px; +} + +div.dtsr-popover-close { + position: absolute; + top: 10px; + right: 10px; + width: 22px; + height: 22px; + border: 1px solid #eaeaea; + background-color: #f9f9f9; + text-align: center; + border-radius: 3px; + cursor: pointer; + z-index: 12; +} + +div.dtsr-background { + z-index: 2002; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.7); + background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); +} + +div.dt-button-collection h3 { + text-align: center; + margin-top: 4px; + margin-bottom: 8px; + font-size: 1.5em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +div.dt-button-collection span.dtsr-emptyStates { + border-radius: 5px; + display: inline-block; + line-height: 1.6em; + white-space: nowrap; + text-align: center; + vertical-align: middle; + width: 100%; + padding-bottom: 7px; + padding-top: 3px; +} + +div.dt-button-collection h3 { + margin-top: 8px; + font-size: 1.5rem; +} +div.dt-button-collection div.dropdown-menu { + padding-top: 0px; + padding-bottom: 4px; + padding-left: 4px; + padding-right: 4px; +} +div.dt-button-collection div.dropdown-menu div.dt-btn-split-wrapper { + margin-top: 4px; +} + +div.dt-button-split-left div.dropdown-menu { + padding-right: 4px; + padding-left: 4px; + padding-bottom: 4px; +} +div.dt-button-split-left div.dropdown-menu button.dt-btn-split-drop-button { + color: rgb(255, 255, 255); + border-radius: 4px; + background-color: rgb(107, 117, 125); + margin-top: 4px; +} +div.dt-button-split-left div.dropdown-menu button.dt-btn-split-drop-button:hover { + background-color: rgb(90, 98, 104); +} + +input.dtsr-input { + display: inline-block; + width: auto; + margin-left: 3px; +} + +div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: left !important; + padding-right: 15px; + padding-left: 15px; +} +div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; + position: relative; +} + +div.dtsr-confirmation-text { + margin-top: 1.5em; +} +div.dtsr-confirmation-text label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: left !important; + padding-right: 15px; + padding-left: 15px; +} +div.dtsr-confirmation-text input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation-text input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; + position: relative; +} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap4.min.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap4.min.css new file mode 100644 index 0000000..a4b6afb --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap4.min.css @@ -0,0 +1 @@ +div.dtsr-confirmation,div.dtsr-creation{position:fixed;top:20%;left:50%;width:500px;background-color:white;margin-left:-250px;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:2003;box-sizing:border-box;padding:1em}div.dtsr-confirmation div.dtsr-confirmation-title-row,div.dtsr-creation div.dtsr-confirmation-title-row{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-title-row h2,div.dtsr-creation div.dtsr-confirmation-title-row h2{border-bottom:0px;margin-top:0px;padding-top:0px}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:center}div.dtsr-confirmation div.dtsr-confirmation-buttons,div.dtsr-creation div.dtsr-confirmation-buttons{text-align:right;margin-top:1em}div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button,div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button{margin:0px}div.dtsr-confirmation div.dtsr-creation-text,div.dtsr-creation div.dtsr-creation-text{text-align:left;padding:0px;border:none}div.dtsr-confirmation div.dtsr-creation-text span,div.dtsr-creation div.dtsr-creation-text span{font-size:20px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-right{display:inline-block;width:50%}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-left{text-align:right}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row,div.dtsr-creation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row{text-align:left}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label{width:33.3%;display:inline-block;text-align:right;padding-right:15px;padding-left:15px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title{margin-right:-33.3%}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label,div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label{width:auto;display:inline-block;text-align:right;padding-right:15px}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-modal-foot,div.dtsr-creation div.dtsr-modal-foot{text-align:right;padding-top:10px}div.dtsr-confirmation span.dtsr-modal-error,div.dtsr-creation span.dtsr-modal-error{color:red;font-size:.9em}div.dtsr-creation{top:10%}div.dtsr-form-row{padding:10px}div.dtsr-check-row{padding-top:0px}div.dtsr-creation-text{padding:10px}div.dtsr-popover-close{position:absolute;top:10px;right:10px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtsr-background{z-index:2002;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%)}div.dt-button-collection h3{text-align:center;margin-top:4px;margin-bottom:8px;font-size:1.5em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.dt-button-collection span.dtsr-emptyStates{border-radius:5px;display:inline-block;line-height:1.6em;white-space:nowrap;text-align:center;vertical-align:middle;width:100%;padding-bottom:7px;padding-top:3px}div.dt-button-collection h3{margin-top:8px;font-size:1.5rem}div.dt-button-collection div.dropdown-menu{padding-top:0px;padding-bottom:4px;padding-left:4px;padding-right:4px}div.dt-button-collection div.dropdown-menu div.dt-btn-split-wrapper{margin-top:4px}div.dt-button-split-left div.dropdown-menu{padding-right:4px;padding-left:4px;padding-bottom:4px}div.dt-button-split-left div.dropdown-menu button.dt-btn-split-drop-button{color:rgb(255, 255, 255);border-radius:4px;background-color:rgb(107, 117, 125);margin-top:4px}div.dt-button-split-left div.dropdown-menu button.dt-btn-split-drop-button:hover{background-color:rgb(90, 98, 104)}input.dtsr-input{display:inline-block;width:auto;margin-left:3px}div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label{width:33.3%;display:inline-block;text-align:left !important;padding-right:15px;padding-left:15px}div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block;position:relative}div.dtsr-confirmation-text{margin-top:1.5em}div.dtsr-confirmation-text label.dtsr-name-label{width:33.3%;display:inline-block;text-align:left !important;padding-right:15px;padding-left:15px}div.dtsr-confirmation-text input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation-text input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block;position:relative} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap5.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap5.css new file mode 100644 index 0000000..897080c --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap5.css @@ -0,0 +1,231 @@ +div.dtsr-confirmation, div.dtsr-creation { + position: fixed; + top: 20%; + left: 50%; + width: 500px; + background-color: white; + margin-left: -250px; + border-radius: 6px; + box-shadow: 0 0 5px #555; + border: 2px solid #444; + z-index: 2003; + box-sizing: border-box; + padding: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row, div.dtsr-creation div.dtsr-confirmation-title-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row h2, div.dtsr-creation div.dtsr-confirmation-title-row h2 { + border-bottom: 0px; + margin-top: 0px; + padding-top: 0px; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: center; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons, div.dtsr-creation div.dtsr-confirmation-buttons { + text-align: right; + margin-top: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button, div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button { + margin: 0px; +} +div.dtsr-confirmation div.dtsr-creation-text, div.dtsr-creation div.dtsr-creation-text { + text-align: left; + padding: 0px; + border: none; +} +div.dtsr-confirmation div.dtsr-creation-text span, div.dtsr-creation div.dtsr-creation-text span { + font-size: 20px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-right { + display: inline-block; + width: 50%; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-left { + text-align: right; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row, div.dtsr-creation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: right; + padding-right: 15px; + padding-left: 15px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title { + margin-right: -33.3%; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label, div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label { + width: auto; + display: inline-block; + text-align: right; + padding-right: 15px; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-modal-foot, div.dtsr-creation div.dtsr-modal-foot { + text-align: right; + padding-top: 10px; +} +div.dtsr-confirmation span.dtsr-modal-error, div.dtsr-creation span.dtsr-modal-error { + color: red; + font-size: 0.9em; +} + +div.dtsr-creation { + top: 10%; +} + +div.dtsr-form-row { + padding: 10px; +} + +div.dtsr-check-row { + padding-top: 0px; +} + +div.dtsr-creation-text { + padding: 10px; +} + +div.dtsr-popover-close { + position: absolute; + top: 10px; + right: 10px; + width: 22px; + height: 22px; + border: 1px solid #eaeaea; + background-color: #f9f9f9; + text-align: center; + border-radius: 3px; + cursor: pointer; + z-index: 12; +} + +div.dtsr-background { + z-index: 2002; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.7); + background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); +} + +div.dt-button-collection h3 { + text-align: center; + margin-top: 4px; + margin-bottom: 8px; + font-size: 1.5em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +div.dt-button-collection span.dtsr-emptyStates { + border-radius: 5px; + display: inline-block; + line-height: 1.6em; + white-space: nowrap; + text-align: center; + vertical-align: middle; + width: 100%; + padding-bottom: 7px; + padding-top: 3px; +} + +span.dtsr-check-label { + padding-left: 3px; +} + +div.dt-button-collection h3 { + margin-top: 8px; +} +div.dt-button-collection div.dropdown-menu { + padding-top: 0px; + padding-bottom: 4px; +} +div.dt-button-collection div.dropdown-menu div.dt-btn-split-wrapper { + margin-top: 4px; + padding-left: 3px; + padding-right: 3px; +} +div.dt-button-collection div.dropdown-menu div.dt-btn-split-wrapper button.btn { + width: calc(100% - 30px); +} +div.dt-button-collection div.dropdown-menu div.dt-btn-split-wrapper button.dt-btn-split-drop { + width: 30px; +} +div.dt-button-collection div.dropdown-menu button.dt-btn-split-drop-button { + margin-left: -2px; + margin-right: -2px; +} + +div.dt-button-split-left div.dropdown-menu { + padding-left: 4px; + padding-right: 4px; +} +div.dt-button-split-left div.dropdown-menu button.dt-btn-split-drop-button { + color: rgb(255, 255, 255); + border-radius: 4px; + background-color: rgb(107, 117, 125); + margin-top: 4px; +} +div.dt-button-split-left div.dropdown-menu button.dt-btn-split-drop-button:hover { + background-color: rgb(90, 98, 104); +} + +input.dtsr-input { + margin-left: 3px; + display: inline-block; + width: auto; +} + +div.dtsr-creation-form div.dtsr-check-row { + height: 25px; +} +div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: left !important; + padding-right: 15px; + padding-left: 15px; +} +div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; + position: relative; + float: none; + line-height: normal; +} + +div.dtsr-confirmation-text { + margin-top: 1.5em; +} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap5.min.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap5.min.css new file mode 100644 index 0000000..0728b5c --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bootstrap5.min.css @@ -0,0 +1 @@ +div.dtsr-confirmation,div.dtsr-creation{position:fixed;top:20%;left:50%;width:500px;background-color:white;margin-left:-250px;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:2003;box-sizing:border-box;padding:1em}div.dtsr-confirmation div.dtsr-confirmation-title-row,div.dtsr-creation div.dtsr-confirmation-title-row{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-title-row h2,div.dtsr-creation div.dtsr-confirmation-title-row h2{border-bottom:0px;margin-top:0px;padding-top:0px}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:center}div.dtsr-confirmation div.dtsr-confirmation-buttons,div.dtsr-creation div.dtsr-confirmation-buttons{text-align:right;margin-top:1em}div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button,div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button{margin:0px}div.dtsr-confirmation div.dtsr-creation-text,div.dtsr-creation div.dtsr-creation-text{text-align:left;padding:0px;border:none}div.dtsr-confirmation div.dtsr-creation-text span,div.dtsr-creation div.dtsr-creation-text span{font-size:20px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-right{display:inline-block;width:50%}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-left{text-align:right}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row,div.dtsr-creation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row{text-align:left}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label{width:33.3%;display:inline-block;text-align:right;padding-right:15px;padding-left:15px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title{margin-right:-33.3%}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label,div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label{width:auto;display:inline-block;text-align:right;padding-right:15px}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-modal-foot,div.dtsr-creation div.dtsr-modal-foot{text-align:right;padding-top:10px}div.dtsr-confirmation span.dtsr-modal-error,div.dtsr-creation span.dtsr-modal-error{color:red;font-size:.9em}div.dtsr-creation{top:10%}div.dtsr-form-row{padding:10px}div.dtsr-check-row{padding-top:0px}div.dtsr-creation-text{padding:10px}div.dtsr-popover-close{position:absolute;top:10px;right:10px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtsr-background{z-index:2002;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%)}div.dt-button-collection h3{text-align:center;margin-top:4px;margin-bottom:8px;font-size:1.5em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.dt-button-collection span.dtsr-emptyStates{border-radius:5px;display:inline-block;line-height:1.6em;white-space:nowrap;text-align:center;vertical-align:middle;width:100%;padding-bottom:7px;padding-top:3px}span.dtsr-check-label{padding-left:3px}div.dt-button-collection h3{margin-top:8px}div.dt-button-collection div.dropdown-menu{padding-top:0px;padding-bottom:4px}div.dt-button-collection div.dropdown-menu div.dt-btn-split-wrapper{margin-top:4px;padding-left:3px;padding-right:3px}div.dt-button-collection div.dropdown-menu div.dt-btn-split-wrapper button.btn{width:calc(100% - 30px)}div.dt-button-collection div.dropdown-menu div.dt-btn-split-wrapper button.dt-btn-split-drop{width:30px}div.dt-button-collection div.dropdown-menu button.dt-btn-split-drop-button{margin-left:-2px;margin-right:-2px}div.dt-button-split-left div.dropdown-menu{padding-left:4px;padding-right:4px}div.dt-button-split-left div.dropdown-menu button.dt-btn-split-drop-button{color:rgb(255, 255, 255);border-radius:4px;background-color:rgb(107, 117, 125);margin-top:4px}div.dt-button-split-left div.dropdown-menu button.dt-btn-split-drop-button:hover{background-color:rgb(90, 98, 104)}input.dtsr-input{margin-left:3px;display:inline-block;width:auto}div.dtsr-creation-form div.dtsr-check-row{height:25px}div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label{width:33.3%;display:inline-block;text-align:left !important;padding-right:15px;padding-left:15px}div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block;position:relative;float:none;line-height:normal}div.dtsr-confirmation-text{margin-top:1.5em} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bulma.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bulma.css new file mode 100644 index 0000000..cf06de3 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bulma.css @@ -0,0 +1,226 @@ +div.dtsr-confirmation, div.dtsr-creation { + position: fixed; + top: 20%; + left: 50%; + width: 500px; + background-color: white; + margin-left: -250px; + border-radius: 6px; + box-shadow: 0 0 5px #555; + border: 2px solid #444; + z-index: 2003; + box-sizing: border-box; + padding: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row, div.dtsr-creation div.dtsr-confirmation-title-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row h2, div.dtsr-creation div.dtsr-confirmation-title-row h2 { + border-bottom: 0px; + margin-top: 0px; + padding-top: 0px; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: center; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons, div.dtsr-creation div.dtsr-confirmation-buttons { + text-align: right; + margin-top: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button, div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button { + margin: 0px; +} +div.dtsr-confirmation div.dtsr-creation-text, div.dtsr-creation div.dtsr-creation-text { + text-align: left; + padding: 0px; + border: none; +} +div.dtsr-confirmation div.dtsr-creation-text span, div.dtsr-creation div.dtsr-creation-text span { + font-size: 20px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-right { + display: inline-block; + width: 50%; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-left { + text-align: right; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row, div.dtsr-creation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: right; + padding-right: 15px; + padding-left: 15px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title { + margin-right: -33.3%; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label, div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label { + width: auto; + display: inline-block; + text-align: right; + padding-right: 15px; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-modal-foot, div.dtsr-creation div.dtsr-modal-foot { + text-align: right; + padding-top: 10px; +} +div.dtsr-confirmation span.dtsr-modal-error, div.dtsr-creation span.dtsr-modal-error { + color: red; + font-size: 0.9em; +} + +div.dtsr-creation { + top: 10%; +} + +div.dtsr-form-row { + padding: 10px; +} + +div.dtsr-check-row { + padding-top: 0px; +} + +div.dtsr-creation-text { + padding: 10px; +} + +div.dtsr-popover-close { + position: absolute; + top: 10px; + right: 10px; + width: 22px; + height: 22px; + border: 1px solid #eaeaea; + background-color: #f9f9f9; + text-align: center; + border-radius: 3px; + cursor: pointer; + z-index: 12; +} + +div.dtsr-background { + z-index: 2002; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.7); + background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); +} + +div.dt-button-collection h3 { + text-align: center; + margin-top: 4px; + margin-bottom: 8px; + font-size: 1.5em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +div.dt-button-collection span.dtsr-emptyStates { + border-radius: 5px; + display: inline-block; + line-height: 1.6em; + white-space: nowrap; + text-align: center; + vertical-align: middle; + width: 100%; + padding-bottom: 7px; + padding-top: 3px; +} + +div.dtsr-form-row { + display: block; +} + +div.dtsr-creation-form { + width: 100%; +} + +div.checkbox { + cursor: default; +} + +span.dtsr-check-label { + padding-left: 3px; +} + +input.dtsr-input { + display: inline-block; + width: auto; +} + +span.dtsr-confirmation-message { + font-size: 1rem; + padding-top: 7px; + padding-bottom: 7px; + line-height: 2.5em; +} + +div.dt-button-collection { + width: auto; + padding-left: 0.5rem; + padding-right: 0.5rem; +} +div.dt-button-collection div.dropdown-content { + width: 100%; + padding-top: 0.5rem; + padding-bottom: 0px; +} +div.dt-button-collection div.dropdown-content div.dropdown-trigger { + margin-bottom: 0px !important; + padding-right: 0.5rem; + padding-left: 0.5rem; +} +div.dt-button-collection div.dropdown-content div.dropdown-trigger button.dt-button { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +div.dt-button-split-left div.dropdown-content { + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 1rem; + padding-bottom: 0.5rem; + width: 100%; +} +div.dt-button-split-left div.dropdown-content button.dt-btn-split-drop-button { + width: 100%; + margin-top: 0.5rem; +} + +div.dtsr-form-row label.dtsr-name-label, div.dtsr-confirmation-text label.dtsr-name-label { + line-height: 1.5; + padding-top: 10px; +} + +div.dtsr-confirmation-text, div.dtsr-creation-form { + margin-top: 1.5em; +} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bulma.min.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bulma.min.css new file mode 100644 index 0000000..5e2b47a --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.bulma.min.css @@ -0,0 +1 @@ +div.dtsr-confirmation,div.dtsr-creation{position:fixed;top:20%;left:50%;width:500px;background-color:white;margin-left:-250px;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:2003;box-sizing:border-box;padding:1em}div.dtsr-confirmation div.dtsr-confirmation-title-row,div.dtsr-creation div.dtsr-confirmation-title-row{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-title-row h2,div.dtsr-creation div.dtsr-confirmation-title-row h2{border-bottom:0px;margin-top:0px;padding-top:0px}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:center}div.dtsr-confirmation div.dtsr-confirmation-buttons,div.dtsr-creation div.dtsr-confirmation-buttons{text-align:right;margin-top:1em}div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button,div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button{margin:0px}div.dtsr-confirmation div.dtsr-creation-text,div.dtsr-creation div.dtsr-creation-text{text-align:left;padding:0px;border:none}div.dtsr-confirmation div.dtsr-creation-text span,div.dtsr-creation div.dtsr-creation-text span{font-size:20px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-right{display:inline-block;width:50%}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-left{text-align:right}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row,div.dtsr-creation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row{text-align:left}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label{width:33.3%;display:inline-block;text-align:right;padding-right:15px;padding-left:15px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title{margin-right:-33.3%}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label,div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label{width:auto;display:inline-block;text-align:right;padding-right:15px}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-modal-foot,div.dtsr-creation div.dtsr-modal-foot{text-align:right;padding-top:10px}div.dtsr-confirmation span.dtsr-modal-error,div.dtsr-creation span.dtsr-modal-error{color:red;font-size:.9em}div.dtsr-creation{top:10%}div.dtsr-form-row{padding:10px}div.dtsr-check-row{padding-top:0px}div.dtsr-creation-text{padding:10px}div.dtsr-popover-close{position:absolute;top:10px;right:10px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtsr-background{z-index:2002;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%)}div.dt-button-collection h3{text-align:center;margin-top:4px;margin-bottom:8px;font-size:1.5em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.dt-button-collection span.dtsr-emptyStates{border-radius:5px;display:inline-block;line-height:1.6em;white-space:nowrap;text-align:center;vertical-align:middle;width:100%;padding-bottom:7px;padding-top:3px}div.dtsr-form-row{display:block}div.dtsr-creation-form{width:100%}div.checkbox{cursor:default}span.dtsr-check-label{padding-left:3px}input.dtsr-input{display:inline-block;width:auto}span.dtsr-confirmation-message{font-size:1rem;padding-top:7px;padding-bottom:7px;line-height:2.5em}div.dt-button-collection{width:auto;padding-left:.5rem;padding-right:.5rem}div.dt-button-collection div.dropdown-content{width:100%;padding-top:.5rem;padding-bottom:0px}div.dt-button-collection div.dropdown-content div.dropdown-trigger{margin-bottom:0px !important;padding-right:.5rem;padding-left:.5rem}div.dt-button-collection div.dropdown-content div.dropdown-trigger button.dt-button{border-top-right-radius:4px;border-bottom-right-radius:4px}div.dt-button-split-left div.dropdown-content{padding-left:.5rem;padding-right:.5rem;padding-top:1rem;padding-bottom:.5rem;width:100%}div.dt-button-split-left div.dropdown-content button.dt-btn-split-drop-button{width:100%;margin-top:.5rem}div.dtsr-form-row label.dtsr-name-label,div.dtsr-confirmation-text label.dtsr-name-label{line-height:1.5;padding-top:10px}div.dtsr-confirmation-text,div.dtsr-creation-form{margin-top:1.5em} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.dataTables.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.dataTables.css new file mode 100644 index 0000000..a194822 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.dataTables.css @@ -0,0 +1,174 @@ +div.dtsr-confirmation, div.dtsr-creation { + position: fixed; + top: 20%; + left: 50%; + width: 500px; + background-color: white; + margin-left: -250px; + border-radius: 6px; + box-shadow: 0 0 5px #555; + border: 2px solid #444; + z-index: 2003; + box-sizing: border-box; + padding: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row, div.dtsr-creation div.dtsr-confirmation-title-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row h2, div.dtsr-creation div.dtsr-confirmation-title-row h2 { + border-bottom: 0px; + margin-top: 0px; + padding-top: 0px; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: center; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons, div.dtsr-creation div.dtsr-confirmation-buttons { + text-align: right; + margin-top: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button, div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button { + margin: 0px; +} +div.dtsr-confirmation div.dtsr-creation-text, div.dtsr-creation div.dtsr-creation-text { + text-align: left; + padding: 0px; + border: none; +} +div.dtsr-confirmation div.dtsr-creation-text span, div.dtsr-creation div.dtsr-creation-text span { + font-size: 20px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-right { + display: inline-block; + width: 50%; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-left { + text-align: right; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row, div.dtsr-creation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: right; + padding-right: 15px; + padding-left: 15px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title { + margin-right: -33.3%; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label, div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label { + width: auto; + display: inline-block; + text-align: right; + padding-right: 15px; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-modal-foot, div.dtsr-creation div.dtsr-modal-foot { + text-align: right; + padding-top: 10px; +} +div.dtsr-confirmation span.dtsr-modal-error, div.dtsr-creation span.dtsr-modal-error { + color: red; + font-size: 0.9em; +} + +div.dtsr-creation { + top: 10%; +} + +div.dtsr-form-row { + padding: 10px; +} + +div.dtsr-check-row { + padding-top: 0px; +} + +div.dtsr-creation-text { + padding: 10px; +} + +div.dtsr-popover-close { + position: absolute; + top: 10px; + right: 10px; + width: 22px; + height: 22px; + border: 1px solid #eaeaea; + background-color: #f9f9f9; + text-align: center; + border-radius: 3px; + cursor: pointer; + z-index: 12; +} + +div.dtsr-background { + z-index: 2002; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.7); + background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); +} + +div.dt-button-collection h3 { + text-align: center; + margin-top: 4px; + margin-bottom: 8px; + font-size: 1.5em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +div.dt-button-collection span.dtsr-emptyStates { + border-radius: 5px; + display: inline-block; + line-height: 1.6em; + white-space: nowrap; + text-align: center; + vertical-align: middle; + width: 100%; + padding-bottom: 7px; + padding-top: 3px; +} + +div.dt-button-collection h3 { + font-size: 1.1em; +} + +div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input { + width: 57% !important; + padding: 5px 4px; + border: 1px solid #aaa; + border-radius: 3px; +} +div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box { + margin-left: calc(33.3% + 30px) !important; +} +div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title { + margin-right: calc(-33.3% - 30px) !important; +} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.dataTables.min.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.dataTables.min.css new file mode 100644 index 0000000..ef5beff --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.dataTables.min.css @@ -0,0 +1 @@ +div.dtsr-confirmation,div.dtsr-creation{position:fixed;top:20%;left:50%;width:500px;background-color:white;margin-left:-250px;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:2003;box-sizing:border-box;padding:1em}div.dtsr-confirmation div.dtsr-confirmation-title-row,div.dtsr-creation div.dtsr-confirmation-title-row{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-title-row h2,div.dtsr-creation div.dtsr-confirmation-title-row h2{border-bottom:0px;margin-top:0px;padding-top:0px}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:center}div.dtsr-confirmation div.dtsr-confirmation-buttons,div.dtsr-creation div.dtsr-confirmation-buttons{text-align:right;margin-top:1em}div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button,div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button{margin:0px}div.dtsr-confirmation div.dtsr-creation-text,div.dtsr-creation div.dtsr-creation-text{text-align:left;padding:0px;border:none}div.dtsr-confirmation div.dtsr-creation-text span,div.dtsr-creation div.dtsr-creation-text span{font-size:20px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-right{display:inline-block;width:50%}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-left{text-align:right}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row,div.dtsr-creation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row{text-align:left}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label{width:33.3%;display:inline-block;text-align:right;padding-right:15px;padding-left:15px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title{margin-right:-33.3%}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label,div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label{width:auto;display:inline-block;text-align:right;padding-right:15px}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-modal-foot,div.dtsr-creation div.dtsr-modal-foot{text-align:right;padding-top:10px}div.dtsr-confirmation span.dtsr-modal-error,div.dtsr-creation span.dtsr-modal-error{color:red;font-size:.9em}div.dtsr-creation{top:10%}div.dtsr-form-row{padding:10px}div.dtsr-check-row{padding-top:0px}div.dtsr-creation-text{padding:10px}div.dtsr-popover-close{position:absolute;top:10px;right:10px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtsr-background{z-index:2002;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%)}div.dt-button-collection h3{text-align:center;margin-top:4px;margin-bottom:8px;font-size:1.5em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.dt-button-collection span.dtsr-emptyStates{border-radius:5px;display:inline-block;line-height:1.6em;white-space:nowrap;text-align:center;vertical-align:middle;width:100%;padding-bottom:7px;padding-top:3px}div.dt-button-collection h3{font-size:1.1em}div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input{width:57% !important;padding:5px 4px;border:1px solid #aaa;border-radius:3px}div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box{margin-left:calc(33.3% + 30px) !important}div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title{margin-right:calc(-33.3% - 30px) !important} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.foundation.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.foundation.css new file mode 100644 index 0000000..13adca5 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.foundation.css @@ -0,0 +1,214 @@ +div.dtsr-confirmation, div.dtsr-creation { + position: fixed; + top: 20%; + left: 50%; + width: 500px; + background-color: white; + margin-left: -250px; + border-radius: 6px; + box-shadow: 0 0 5px #555; + border: 2px solid #444; + z-index: 2003; + box-sizing: border-box; + padding: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row, div.dtsr-creation div.dtsr-confirmation-title-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row h2, div.dtsr-creation div.dtsr-confirmation-title-row h2 { + border-bottom: 0px; + margin-top: 0px; + padding-top: 0px; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: center; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons, div.dtsr-creation div.dtsr-confirmation-buttons { + text-align: right; + margin-top: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button, div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button { + margin: 0px; +} +div.dtsr-confirmation div.dtsr-creation-text, div.dtsr-creation div.dtsr-creation-text { + text-align: left; + padding: 0px; + border: none; +} +div.dtsr-confirmation div.dtsr-creation-text span, div.dtsr-creation div.dtsr-creation-text span { + font-size: 20px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-right { + display: inline-block; + width: 50%; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-left { + text-align: right; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row, div.dtsr-creation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: right; + padding-right: 15px; + padding-left: 15px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title { + margin-right: -33.3%; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label, div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label { + width: auto; + display: inline-block; + text-align: right; + padding-right: 15px; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-modal-foot, div.dtsr-creation div.dtsr-modal-foot { + text-align: right; + padding-top: 10px; +} +div.dtsr-confirmation span.dtsr-modal-error, div.dtsr-creation span.dtsr-modal-error { + color: red; + font-size: 0.9em; +} + +div.dtsr-creation { + top: 10%; +} + +div.dtsr-form-row { + padding: 10px; +} + +div.dtsr-check-row { + padding-top: 0px; +} + +div.dtsr-creation-text { + padding: 10px; +} + +div.dtsr-popover-close { + position: absolute; + top: 10px; + right: 10px; + width: 22px; + height: 22px; + border: 1px solid #eaeaea; + background-color: #f9f9f9; + text-align: center; + border-radius: 3px; + cursor: pointer; + z-index: 12; +} + +div.dtsr-background { + z-index: 2002; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.7); + background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); +} + +div.dt-button-collection h3 { + text-align: center; + margin-top: 4px; + margin-bottom: 8px; + font-size: 1.5em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +div.dt-button-collection span.dtsr-emptyStates { + border-radius: 5px; + display: inline-block; + line-height: 1.6em; + white-space: nowrap; + text-align: center; + vertical-align: middle; + width: 100%; + padding-bottom: 7px; + padding-top: 3px; +} + +span.dtsr-check-label { + padding-left: 3px; +} + +input.dtsr-check-box { + margin-bottom: 0px; +} + +button.dtsr-creation-button { + margin-bottom: 0px; +} + +div.dt-button-collection { + width: 150px; +} +div.dt-button-collection h3 { + font-size: 1.35rem; +} +div.dt-button-collection div.dropdown-pane { + width: 150px; + padding: 4px !important; + padding-bottom: 0px !important; +} +div.dt-button-collection div.dropdown-pane div.dt-btn-split-wrapper { + margin-bottom: 4px; +} +div.dt-button-collection div.dropdown-pane div.dt-btn-split-wrapper a.button { + width: calc(100% - 43px); + flex: none !important; + height: 41px; +} +div.dt-button-collection div.dropdown-pane div.dt-btn-split-wrapper button.dt-btn-split-drop { + width: 43px; + flex: none !important; + margin-left: -1px; + height: 41px; +} +div.dt-button-collection div.dropdown-pane button.dt-btn-split-drop-button { + width: 100%; + margin-bottom: 4px; +} + +div.dt-button-split-left div.dropdown-pane { + padding-bottom: 4px !important; +} + +input.dtsr-input { + display: inline-block; + width: auto; + font-size: 1rem; + margin-left: 3px; +} + +div.dtsr-confirmation-text, div.dtsr-creation-form { + margin-top: 1.5em; +} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.foundation.min.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.foundation.min.css new file mode 100644 index 0000000..31b6e37 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.foundation.min.css @@ -0,0 +1 @@ +div.dtsr-confirmation,div.dtsr-creation{position:fixed;top:20%;left:50%;width:500px;background-color:white;margin-left:-250px;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:2003;box-sizing:border-box;padding:1em}div.dtsr-confirmation div.dtsr-confirmation-title-row,div.dtsr-creation div.dtsr-confirmation-title-row{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-title-row h2,div.dtsr-creation div.dtsr-confirmation-title-row h2{border-bottom:0px;margin-top:0px;padding-top:0px}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:center}div.dtsr-confirmation div.dtsr-confirmation-buttons,div.dtsr-creation div.dtsr-confirmation-buttons{text-align:right;margin-top:1em}div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button,div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button{margin:0px}div.dtsr-confirmation div.dtsr-creation-text,div.dtsr-creation div.dtsr-creation-text{text-align:left;padding:0px;border:none}div.dtsr-confirmation div.dtsr-creation-text span,div.dtsr-creation div.dtsr-creation-text span{font-size:20px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-right{display:inline-block;width:50%}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-left{text-align:right}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row,div.dtsr-creation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row{text-align:left}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label{width:33.3%;display:inline-block;text-align:right;padding-right:15px;padding-left:15px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title{margin-right:-33.3%}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label,div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label{width:auto;display:inline-block;text-align:right;padding-right:15px}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-modal-foot,div.dtsr-creation div.dtsr-modal-foot{text-align:right;padding-top:10px}div.dtsr-confirmation span.dtsr-modal-error,div.dtsr-creation span.dtsr-modal-error{color:red;font-size:.9em}div.dtsr-creation{top:10%}div.dtsr-form-row{padding:10px}div.dtsr-check-row{padding-top:0px}div.dtsr-creation-text{padding:10px}div.dtsr-popover-close{position:absolute;top:10px;right:10px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtsr-background{z-index:2002;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%)}div.dt-button-collection h3{text-align:center;margin-top:4px;margin-bottom:8px;font-size:1.5em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.dt-button-collection span.dtsr-emptyStates{border-radius:5px;display:inline-block;line-height:1.6em;white-space:nowrap;text-align:center;vertical-align:middle;width:100%;padding-bottom:7px;padding-top:3px}span.dtsr-check-label{padding-left:3px}input.dtsr-check-box{margin-bottom:0px}button.dtsr-creation-button{margin-bottom:0px}div.dt-button-collection{width:150px}div.dt-button-collection h3{font-size:1.35rem}div.dt-button-collection div.dropdown-pane{width:150px;padding:4px !important;padding-bottom:0px !important}div.dt-button-collection div.dropdown-pane div.dt-btn-split-wrapper{margin-bottom:4px}div.dt-button-collection div.dropdown-pane div.dt-btn-split-wrapper a.button{width:calc(100% - 43px);flex:none !important;height:41px}div.dt-button-collection div.dropdown-pane div.dt-btn-split-wrapper button.dt-btn-split-drop{width:43px;flex:none !important;margin-left:-1px;height:41px}div.dt-button-collection div.dropdown-pane button.dt-btn-split-drop-button{width:100%;margin-bottom:4px}div.dt-button-split-left div.dropdown-pane{padding-bottom:4px !important}input.dtsr-input{display:inline-block;width:auto;font-size:1rem;margin-left:3px}div.dtsr-confirmation-text,div.dtsr-creation-form{margin-top:1.5em} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.jqueryui.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.jqueryui.css new file mode 100644 index 0000000..8fecf8a --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.jqueryui.css @@ -0,0 +1,216 @@ +div.dtsr-confirmation, div.dtsr-creation { + position: fixed; + top: 20%; + left: 50%; + width: 500px; + background-color: white; + margin-left: -250px; + border-radius: 6px; + box-shadow: 0 0 5px #555; + border: 2px solid #444; + z-index: 2003; + box-sizing: border-box; + padding: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row, div.dtsr-creation div.dtsr-confirmation-title-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row h2, div.dtsr-creation div.dtsr-confirmation-title-row h2 { + border-bottom: 0px; + margin-top: 0px; + padding-top: 0px; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: center; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons, div.dtsr-creation div.dtsr-confirmation-buttons { + text-align: right; + margin-top: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button, div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button { + margin: 0px; +} +div.dtsr-confirmation div.dtsr-creation-text, div.dtsr-creation div.dtsr-creation-text { + text-align: left; + padding: 0px; + border: none; +} +div.dtsr-confirmation div.dtsr-creation-text span, div.dtsr-creation div.dtsr-creation-text span { + font-size: 20px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-right { + display: inline-block; + width: 50%; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-left { + text-align: right; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row, div.dtsr-creation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: right; + padding-right: 15px; + padding-left: 15px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title { + margin-right: -33.3%; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label, div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label { + width: auto; + display: inline-block; + text-align: right; + padding-right: 15px; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-modal-foot, div.dtsr-creation div.dtsr-modal-foot { + text-align: right; + padding-top: 10px; +} +div.dtsr-confirmation span.dtsr-modal-error, div.dtsr-creation span.dtsr-modal-error { + color: red; + font-size: 0.9em; +} + +div.dtsr-creation { + top: 10%; +} + +div.dtsr-form-row { + padding: 10px; +} + +div.dtsr-check-row { + padding-top: 0px; +} + +div.dtsr-creation-text { + padding: 10px; +} + +div.dtsr-popover-close { + position: absolute; + top: 10px; + right: 10px; + width: 22px; + height: 22px; + border: 1px solid #eaeaea; + background-color: #f9f9f9; + text-align: center; + border-radius: 3px; + cursor: pointer; + z-index: 12; +} + +div.dtsr-background { + z-index: 2002; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.7); + background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); +} + +div.dt-button-collection h3 { + text-align: center; + margin-top: 4px; + margin-bottom: 8px; + font-size: 1.5em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +div.dt-button-collection span.dtsr-emptyStates { + border-radius: 5px; + display: inline-block; + line-height: 1.6em; + white-space: nowrap; + text-align: center; + vertical-align: middle; + width: 100%; + padding-bottom: 7px; + padding-top: 3px; +} + +div.dt-button-collection { + z-index: 2002; +} +div.dt-button-collection div, div.dt-button-collection ul { + background: none; +} + +span.dtsr-emptyStates { + background: white; + padding-top: 2px !important; +} + +div.dt-btn-split-wrapper { + display: inline-block !important; + width: 100%; +} +div.dt-btn-split-wrapper button.ui-button { + display: inline-block !important; + width: calc(100% - 24px); +} +div.dt-btn-split-wrapper button.dt-btn-split-drop { + display: inline-block !important; + width: 24px; +} + +div.dt-button-split-left { + padding-bottom: 0px; +} +div.dt-button-split-left button.dt-btn-split-drop-button { + width: 100%; + display: block; + margin-bottom: 8px; +} + +span.dtsr-confirmation-message { + padding-right: 3px; +} + +div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: left !important; + padding-right: 0px; + padding-left: 0px; +} +div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input { + width: 57.6% !important; + display: inline-block; +} +div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box { + margin-left: calc(33.3% + 30px) !important; + margin-right: 14px; + display: inline-block; + position: relative; +} +div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title { + margin-right: calc(-33.3% - 30px) !important; +} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.jqueryui.min.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.jqueryui.min.css new file mode 100644 index 0000000..b75f0b9 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.jqueryui.min.css @@ -0,0 +1 @@ +div.dtsr-confirmation,div.dtsr-creation{position:fixed;top:20%;left:50%;width:500px;background-color:white;margin-left:-250px;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:2003;box-sizing:border-box;padding:1em}div.dtsr-confirmation div.dtsr-confirmation-title-row,div.dtsr-creation div.dtsr-confirmation-title-row{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-title-row h2,div.dtsr-creation div.dtsr-confirmation-title-row h2{border-bottom:0px;margin-top:0px;padding-top:0px}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:center}div.dtsr-confirmation div.dtsr-confirmation-buttons,div.dtsr-creation div.dtsr-confirmation-buttons{text-align:right;margin-top:1em}div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button,div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button{margin:0px}div.dtsr-confirmation div.dtsr-creation-text,div.dtsr-creation div.dtsr-creation-text{text-align:left;padding:0px;border:none}div.dtsr-confirmation div.dtsr-creation-text span,div.dtsr-creation div.dtsr-creation-text span{font-size:20px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-right{display:inline-block;width:50%}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-left{text-align:right}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row,div.dtsr-creation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row{text-align:left}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label{width:33.3%;display:inline-block;text-align:right;padding-right:15px;padding-left:15px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title{margin-right:-33.3%}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label,div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label{width:auto;display:inline-block;text-align:right;padding-right:15px}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-modal-foot,div.dtsr-creation div.dtsr-modal-foot{text-align:right;padding-top:10px}div.dtsr-confirmation span.dtsr-modal-error,div.dtsr-creation span.dtsr-modal-error{color:red;font-size:.9em}div.dtsr-creation{top:10%}div.dtsr-form-row{padding:10px}div.dtsr-check-row{padding-top:0px}div.dtsr-creation-text{padding:10px}div.dtsr-popover-close{position:absolute;top:10px;right:10px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtsr-background{z-index:2002;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%)}div.dt-button-collection h3{text-align:center;margin-top:4px;margin-bottom:8px;font-size:1.5em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.dt-button-collection span.dtsr-emptyStates{border-radius:5px;display:inline-block;line-height:1.6em;white-space:nowrap;text-align:center;vertical-align:middle;width:100%;padding-bottom:7px;padding-top:3px}div.dt-button-collection{z-index:2002}div.dt-button-collection div,div.dt-button-collection ul{background:none}span.dtsr-emptyStates{background:white;padding-top:2px !important}div.dt-btn-split-wrapper{display:inline-block !important;width:100%}div.dt-btn-split-wrapper button.ui-button{display:inline-block !important;width:calc(100% - 24px)}div.dt-btn-split-wrapper button.dt-btn-split-drop{display:inline-block !important;width:24px}div.dt-button-split-left{padding-bottom:0px}div.dt-button-split-left button.dt-btn-split-drop-button{width:100%;display:block;margin-bottom:8px}span.dtsr-confirmation-message{padding-right:3px}div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label{width:33.3%;display:inline-block;text-align:left !important;padding-right:0px;padding-left:0px}div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input{width:57.6% !important;display:inline-block}div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box{margin-left:calc(33.3% + 30px) !important;margin-right:14px;display:inline-block;position:relative}div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title{margin-right:calc(-33.3% - 30px) !important} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.semanticui.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.semanticui.css new file mode 100644 index 0000000..4bbbd18 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.semanticui.css @@ -0,0 +1,264 @@ +div.dtsr-confirmation, div.dtsr-creation { + position: fixed; + top: 20%; + left: 50%; + width: 500px; + background-color: white; + margin-left: -250px; + border-radius: 6px; + box-shadow: 0 0 5px #555; + border: 2px solid #444; + z-index: 2003; + box-sizing: border-box; + padding: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row, div.dtsr-creation div.dtsr-confirmation-title-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-title-row h2, div.dtsr-creation div.dtsr-confirmation-title-row h2 { + border-bottom: 0px; + margin-top: 0px; + padding-top: 0px; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: center; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons, div.dtsr-creation div.dtsr-confirmation-buttons { + text-align: right; + margin-top: 1em; +} +div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button, div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button { + margin: 0px; +} +div.dtsr-confirmation div.dtsr-creation-text, div.dtsr-creation div.dtsr-creation-text { + text-align: left; + padding: 0px; + border: none; +} +div.dtsr-confirmation div.dtsr-creation-text span, div.dtsr-creation div.dtsr-creation-text span { + font-size: 20px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-right { + display: inline-block; + width: 50%; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left, div.dtsr-creation div.dtsr-creation-form div.dtsr-left { + text-align: right; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right, div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row, div.dtsr-creation div.dtsr-creation-form div.dtsr-right, div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row { + text-align: left; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: right; + padding-right: 15px; + padding-left: 15px; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title, div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title { + margin-right: -33.3%; +} +div.dtsr-confirmation div.dtsr-confirmation-text, div.dtsr-creation div.dtsr-confirmation-text { + text-align: left; +} +div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label, div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label { + width: auto; + display: inline-block; + text-align: right; + padding-right: 15px; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box, div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; +} +div.dtsr-confirmation div.dtsr-modal-foot, div.dtsr-creation div.dtsr-modal-foot { + text-align: right; + padding-top: 10px; +} +div.dtsr-confirmation span.dtsr-modal-error, div.dtsr-creation span.dtsr-modal-error { + color: red; + font-size: 0.9em; +} + +div.dtsr-creation { + top: 10%; +} + +div.dtsr-form-row { + padding: 10px; +} + +div.dtsr-check-row { + padding-top: 0px; +} + +div.dtsr-creation-text { + padding: 10px; +} + +div.dtsr-popover-close { + position: absolute; + top: 10px; + right: 10px; + width: 22px; + height: 22px; + border: 1px solid #eaeaea; + background-color: #f9f9f9; + text-align: center; + border-radius: 3px; + cursor: pointer; + z-index: 12; +} + +div.dtsr-background { + z-index: 2002; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.7); + background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%); +} + +div.dt-button-collection h3 { + text-align: center; + margin-top: 4px; + margin-bottom: 8px; + font-size: 1.5em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +div.dt-button-collection span.dtsr-emptyStates { + border-radius: 5px; + display: inline-block; + line-height: 1.6em; + white-space: nowrap; + text-align: center; + vertical-align: middle; + width: 100%; + padding-bottom: 7px; + padding-top: 3px; +} + +span.dtsr-check-label { + padding-left: 3px; +} + +span.dtsr-name-label, span.dtsr-confirmation-message { + padding-right: 3px; +} + +div.dtsr-confirmation { + text-align: center; +} + +span.dtsr-confirmation-message { + padding-top: 0.678571em; + padding-bottom: 0.678571em; + font-size: 1rem; +} + +div.dt-btn-split-wrapper { + background-color: white !important; +} +div.dt-btn-split-wrapper button.button { + width: calc(100% - 36px) !important; + margin: 0px !important; + display: inline-block !important; + border-top-left-radius: 0.28571429rem !important; + border-bottom-left-radius: 0.28571429rem !important; + border-top-right-radius: 0px !important; +} +div.dt-btn-split-wrapper button.dt-btn-split-drop { + border-top-right-radius: 0.28571429rem !important; + border-bottom-right-radius: 0.28571429rem !important; + border-top-left-radius: 0px !important; + border-bottom-left-radius: 0px !important; + width: 36px !important; +} + +span.dtsr-emptyStates { + font-size: 1rem; + padding: 5px !important; +} + +div.dt-button-collection div.ui.basic.vertical.buttons { + padding: 4px; + padding-bottom: 0px; + background: white !important; +} +div.dt-button-collection div.ui.basic.vertical.buttons h3 { + font-size: 1.5rem; + line-height: 2rem; +} +div.dt-button-collection div.ui.basic.vertical.buttons div.dt-btn-split-wrapper { + margin-bottom: 4px; +} +div.dt-button-collection div.ui.basic.vertical.buttons div.dt-btn-split-wrapper button.button { + margin-bottom: 4px; + border: 1px solid rgba(34, 36, 38, 0.15) !important; +} +div.dt-button-collection div.ui.basic.vertical.buttons div.dt-btn-split-wrapper button.dt-btn-split-drop { + margin-left: -1px; +} +div.dt-button-collection div.ui.basic.vertical.buttons button.dt-btn-split-drop-button { + border: 1px solid rgba(34, 36, 38, 0.15); + border-radius: 0.285714rem; + margin-bottom: 4px; +} + +input.dtsr-name-input { + border: 1px solid rgba(24, 26, 28, 0.15); + border-radius: 4.6px; + line-height: 20px; + padding-top: 10.8px; + padding-bottom: 10.8px; + font-size: 16px; +} + +label.dtsr-name-label, label.form-check-label { + font-size: 14.9px; +} + +div.dtsr-form-row label.dtsr-name-label, div.dtsr-confirmation-text label.dtsr-name-label { + line-height: 1.5; + padding-top: 5px; +} + +div.dtsr-confirmation-text, div.dtsr-creation-form { + margin-top: 1.5em; + width: 100%; +} +div.dtsr-confirmation-text label.dtsr-name-label, div.dtsr-creation-form label.dtsr-name-label { + width: 33.3%; + display: inline-block; + text-align: left !important; + padding-right: 15px; + padding-left: 15px; +} +div.dtsr-confirmation-text input.dtsr-name-input, div.dtsr-creation-form input.dtsr-name-input { + width: 66.6%; + display: inline-block; +} +div.dtsr-confirmation-text input.dtsr-check-box, div.dtsr-creation-form input.dtsr-check-box { + margin-left: 33.3%; + margin-right: 14px; + display: inline-block; + position: relative; +} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.semanticui.min.css b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.semanticui.min.css new file mode 100644 index 0000000..0280f30 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/css/stateRestore.semanticui.min.css @@ -0,0 +1 @@ +div.dtsr-confirmation,div.dtsr-creation{position:fixed;top:20%;left:50%;width:500px;background-color:white;margin-left:-250px;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:2003;box-sizing:border-box;padding:1em}div.dtsr-confirmation div.dtsr-confirmation-title-row,div.dtsr-creation div.dtsr-confirmation-title-row{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-title-row h2,div.dtsr-creation div.dtsr-confirmation-title-row h2{border-bottom:0px;margin-top:0px;padding-top:0px}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:center}div.dtsr-confirmation div.dtsr-confirmation-buttons,div.dtsr-creation div.dtsr-confirmation-buttons{text-align:right;margin-top:1em}div.dtsr-confirmation div.dtsr-confirmation-buttons button.dtsr-confirmation-button,div.dtsr-creation div.dtsr-confirmation-buttons button.dtsr-confirmation-button{margin:0px}div.dtsr-confirmation div.dtsr-creation-text,div.dtsr-creation div.dtsr-creation-text{text-align:left;padding:0px;border:none}div.dtsr-confirmation div.dtsr-creation-text span,div.dtsr-creation div.dtsr-creation-text span{font-size:20px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-right{display:inline-block;width:50%}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-left,div.dtsr-creation div.dtsr-creation-form div.dtsr-left{text-align:right}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-right,div.dtsr-confirmation div.dtsr-creation-form div.dtsr-name-row,div.dtsr-creation div.dtsr-creation-form div.dtsr-right,div.dtsr-creation div.dtsr-creation-form div.dtsr-name-row{text-align:left}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-name-label{width:33.3%;display:inline-block;text-align:right;padding-right:15px;padding-left:15px}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title,div.dtsr-creation div.dtsr-creation-form div.dtsr-form-row label.dtsr-toggle-title{margin-right:-33.3%}div.dtsr-confirmation div.dtsr-confirmation-text,div.dtsr-creation div.dtsr-confirmation-text{text-align:left}div.dtsr-confirmation div.dtsr-confirmation-text label.dtsr-name-label,div.dtsr-creation div.dtsr-confirmation-text label.dtsr-name-label{width:auto;display:inline-block;text-align:right;padding-right:15px}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-name-input,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation div.dtsr-confirmation-text input.dtsr-check-box,div.dtsr-creation div.dtsr-confirmation-text input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block}div.dtsr-confirmation div.dtsr-modal-foot,div.dtsr-creation div.dtsr-modal-foot{text-align:right;padding-top:10px}div.dtsr-confirmation span.dtsr-modal-error,div.dtsr-creation span.dtsr-modal-error{color:red;font-size:.9em}div.dtsr-creation{top:10%}div.dtsr-form-row{padding:10px}div.dtsr-check-row{padding-top:0px}div.dtsr-creation-text{padding:10px}div.dtsr-popover-close{position:absolute;top:10px;right:10px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtsr-background{z-index:2002;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%)}div.dt-button-collection h3{text-align:center;margin-top:4px;margin-bottom:8px;font-size:1.5em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.dt-button-collection span.dtsr-emptyStates{border-radius:5px;display:inline-block;line-height:1.6em;white-space:nowrap;text-align:center;vertical-align:middle;width:100%;padding-bottom:7px;padding-top:3px}span.dtsr-check-label{padding-left:3px}span.dtsr-name-label,span.dtsr-confirmation-message{padding-right:3px}div.dtsr-confirmation{text-align:center}span.dtsr-confirmation-message{padding-top:.678571em;padding-bottom:.678571em;font-size:1rem}div.dt-btn-split-wrapper{background-color:white !important}div.dt-btn-split-wrapper button.button{width:calc(100% - 36px) !important;margin:0px !important;display:inline-block !important;border-top-left-radius:.28571429rem !important;border-bottom-left-radius:.28571429rem !important;border-top-right-radius:0px !important}div.dt-btn-split-wrapper button.dt-btn-split-drop{border-top-right-radius:.28571429rem !important;border-bottom-right-radius:.28571429rem !important;border-top-left-radius:0px !important;border-bottom-left-radius:0px !important;width:36px !important}span.dtsr-emptyStates{font-size:1rem;padding:5px !important}div.dt-button-collection div.ui.basic.vertical.buttons{padding:4px;padding-bottom:0px;background:white !important}div.dt-button-collection div.ui.basic.vertical.buttons h3{font-size:1.5rem;line-height:2rem}div.dt-button-collection div.ui.basic.vertical.buttons div.dt-btn-split-wrapper{margin-bottom:4px}div.dt-button-collection div.ui.basic.vertical.buttons div.dt-btn-split-wrapper button.button{margin-bottom:4px;border:1px solid rgba(34, 36, 38, 0.15) !important}div.dt-button-collection div.ui.basic.vertical.buttons div.dt-btn-split-wrapper button.dt-btn-split-drop{margin-left:-1px}div.dt-button-collection div.ui.basic.vertical.buttons button.dt-btn-split-drop-button{border:1px solid rgba(34, 36, 38, 0.15);border-radius:.285714rem;margin-bottom:4px}input.dtsr-name-input{border:1px solid rgba(24, 26, 28, 0.15);border-radius:4.6px;line-height:20px;padding-top:10.8px;padding-bottom:10.8px;font-size:16px}label.dtsr-name-label,label.form-check-label{font-size:14.9px}div.dtsr-form-row label.dtsr-name-label,div.dtsr-confirmation-text label.dtsr-name-label{line-height:1.5;padding-top:5px}div.dtsr-confirmation-text,div.dtsr-creation-form{margin-top:1.5em;width:100%}div.dtsr-confirmation-text label.dtsr-name-label,div.dtsr-creation-form label.dtsr-name-label{width:33.3%;display:inline-block;text-align:left !important;padding-right:15px;padding-left:15px}div.dtsr-confirmation-text input.dtsr-name-input,div.dtsr-creation-form input.dtsr-name-input{width:66.6%;display:inline-block}div.dtsr-confirmation-text input.dtsr-check-box,div.dtsr-creation-form input.dtsr-check-box{margin-left:33.3%;margin-right:14px;display:inline-block;position:relative} diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/dataTables.stateRestore.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/dataTables.stateRestore.js new file mode 100644 index 0000000..470a782 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/dataTables.stateRestore.js @@ -0,0 +1,2365 @@ +/*! StateRestore 1.2.2 + * © SpryMedia Ltd - datatables.net/license + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + var jq = require('jquery'); + var cjsRequires = function (root, $) { + if ( ! $.fn.dataTable ) { + require('datatables.net')(root, $); + } + }; + + if (typeof window !== 'undefined') { + module.exports = function (root, $) { + if ( ! root ) { + // CommonJS environments without a window global must pass a + // root. This will give an error otherwise + root = window; + } + + if ( ! $ ) { + $ = jq( root ); + } + + cjsRequires( root, $ ); + return factory( $, root, root.document ); + }; + } + else { + cjsRequires( window, jq ); + module.exports = factory( jq, window, window.document ); + } + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + +(function () { + 'use strict'; + + var $$2; + var dataTable$1; + function setJQuery$1(jq) { + $$2 = jq; + dataTable$1 = jq.fn.dataTable; + } + var StateRestore = /** @class */ (function () { + function StateRestore(settings, opts, identifier, state, isPreDefined, successCallback) { + if (state === void 0) { state = undefined; } + if (isPreDefined === void 0) { isPreDefined = false; } + if (successCallback === void 0) { successCallback = function () { return null; }; } + // Check that the required version of DataTables is included + if (!dataTable$1 || !dataTable$1.versionCheck || !dataTable$1.versionCheck('1.10.0')) { + throw new Error('StateRestore requires DataTables 1.10 or newer'); + } + // Check that Select is included + // eslint-disable-next-line no-extra-parens + if (!dataTable$1.Buttons) { + throw new Error('StateRestore requires Buttons'); + } + var table = new dataTable$1.Api(settings); + this.classes = $$2.extend(true, {}, StateRestore.classes); + // Get options from user + this.c = $$2.extend(true, {}, StateRestore.defaults, opts); + this.s = { + dt: table, + identifier: identifier, + isPreDefined: isPreDefined, + savedState: null, + tableId: state && state.stateRestore ? state.stateRestore.tableId : undefined + }; + this.dom = { + background: $$2('<div class="' + this.classes.background + '"/>'), + closeButton: $$2('<div class="' + this.classes.closeButton + '">x</div>'), + confirmation: $$2('<div class="' + this.classes.confirmation + '"/>'), + confirmationButton: $$2('<button class="' + this.classes.confirmationButton + ' ' + this.classes.dtButton + '">'), + confirmationTitleRow: $$2('<div class="' + this.classes.confirmationTitleRow + '"></div>'), + dtContainer: $$2(this.s.dt.table().container()), + duplicateError: $$2('<span class="' + this.classes.modalError + '">' + + this.s.dt.i18n('stateRestore.duplicateError', this.c.i18n.duplicateError) + + '</span>'), + emptyError: $$2('<span class="' + this.classes.modalError + '">' + + this.s.dt.i18n('stateRestore.emptyError', this.c.i18n.emptyError) + + '</span>'), + removeContents: $$2('<div class="' + this.classes.confirmationText + '"><span>' + + this.s.dt + .i18n('stateRestore.removeConfirm', this.c.i18n.removeConfirm) + .replace(/%s/g, this.s.identifier) + + '</span></div>'), + removeError: $$2('<span class="' + this.classes.modalError + '">' + + this.s.dt.i18n('stateRestore.removeError', this.c.i18n.removeError) + + '</span>'), + removeTitle: $$2('<h2 class="' + this.classes.confirmationTitle + '">' + + this.s.dt.i18n('stateRestore.removeTitle', this.c.i18n.removeTitle) + + '</h2>'), + renameContents: $$2('<div class="' + this.classes.confirmationText + ' ' + this.classes.renameModal + '">' + + '<label class="' + this.classes.confirmationMessage + '">' + + this.s.dt + .i18n('stateRestore.renameLabel', this.c.i18n.renameLabel) + .replace(/%s/g, this.s.identifier) + + '</label>' + + '</div>'), + renameInput: $$2('<input class="' + this.classes.input + '" type="text"></input>'), + renameTitle: $$2('<h2 class="' + this.classes.confirmationTitle + '">' + + this.s.dt.i18n('stateRestore.renameTitle', this.c.i18n.renameTitle) + + '</h2>') + }; + // When a StateRestore instance is created the current state of the table should also be saved. + this.save(state, successCallback); + } + /** + * Removes a state from storage and then triggers the dtsr-remove event + * so that the StateRestoreCollection class can remove it's references as well. + * + * @param skipModal Flag to indicate if the modal should be skipped or not + */ + StateRestore.prototype.remove = function (skipModal) { + var _a; + var _this = this; + if (skipModal === void 0) { skipModal = false; } + // Check if removal of states is allowed + if (!this.c.remove) { + return false; + } + var removeFunction; + var ajaxData = { + action: 'remove', + stateRestore: (_a = {}, + _a[this.s.identifier] = this.s.savedState, + _a) + }; + var successCallback = function () { + _this.dom.confirmation.trigger('dtsr-remove'); + $$2(_this.s.dt.table().node()).trigger('stateRestore-change'); + _this.dom.background.click(); + _this.dom.confirmation.remove(); + $$2(document).unbind('keyup', function (e) { return _this._keyupFunction(e); }); + _this.dom.confirmationButton.off('click'); + }; + // If the remove is not happening over ajax remove it from local storage and then trigger the event + if (!this.c.ajax) { + removeFunction = function () { + try { + localStorage.removeItem('DataTables_stateRestore_' + _this.s.identifier + '_' + location.pathname + + (_this.s.tableId ? '_' + _this.s.tableId : '')); + successCallback(); + } + catch (e) { + _this.dom.confirmation.children('.' + _this.classes.modalError).remove(); + _this.dom.confirmation.append(_this.dom.removeError); + return 'remove'; + } + return true; + }; + } + // Ajax property has to be a string, not just true + // Also only want to save if the table has been initialised and the states have been loaded in + else if (typeof this.c.ajax === 'string' && this.s.dt.settings()[0]._bInitComplete) { + removeFunction = function () { + $$2.ajax({ + data: ajaxData, + success: successCallback, + type: 'POST', + url: _this.c.ajax + }); + return true; + }; + } + else if (typeof this.c.ajax === 'function') { + removeFunction = function () { + if (typeof _this.c.ajax === 'function') { + _this.c.ajax.call(_this.s.dt, ajaxData, successCallback); + } + return true; + }; + } + // If the modal is to be skipped then remove straight away + if (skipModal) { + this.dom.confirmation.appendTo(this.dom.dtContainer); + $$2(this.s.dt.table().node()).trigger('dtsr-modal-inserted'); + removeFunction(); + this.dom.confirmation.remove(); + } + // Otherwise display the modal + else { + this._newModal(this.dom.removeTitle, this.s.dt.i18n('stateRestore.removeSubmit', this.c.i18n.removeSubmit), removeFunction, this.dom.removeContents); + } + return true; + }; + /** + * Compares the state held within this instance with a state that is passed in + * + * @param state The state that is to be compared against + * @returns boolean indicating if the states match + */ + StateRestore.prototype.compare = function (state) { + // Order + if (!this.c.saveState.order) { + state.order = undefined; + } + // Search + if (!this.c.saveState.search) { + state.search = undefined; + } + // Columns + if (this.c.saveState.columns && state.columns) { + for (var i = 0, ien = state.columns.length; i < ien; i++) { + // Visibility + if (typeof this.c.saveState.columns !== 'boolean' && !this.c.saveState.columns.visible) { + state.columns[i].visible = undefined; + } + // Search + if (typeof this.c.saveState.columns !== 'boolean' && !this.c.saveState.columns.search) { + state.columns[i].search = undefined; + } + } + } + else if (!this.c.saveState.columns) { + state.columns = undefined; + } + // Paging + if (!this.c.saveState.paging) { + state.page = undefined; + } + // SearchBuilder + if (!this.c.saveState.searchBuilder) { + state.searchBuilder = undefined; + } + // SearchPanes + if (!this.c.saveState.searchPanes) { + state.searchPanes = undefined; + } + // Select + if (!this.c.saveState.select) { + state.select = undefined; + } + // ColReorder + if (!this.c.saveState.colReorder) { + state.ColReorder = undefined; + } + // Scroller + if (!this.c.saveState.scroller) { + state.scroller = undefined; + if (dataTable$1.Scroller !== undefined) { + state.start = 0; + } + } + // Paging + if (!this.c.saveState.paging) { + state.start = 0; + } + // Page Length + if (!this.c.saveState.length) { + state.length = undefined; + } + // Need to delete properties that we do not want to compare + delete state.time; + var copyState = this.s.savedState; + delete copyState.time; + delete copyState.c; + delete copyState.stateRestore; + // Perform a deep compare of the two state objects + return this._deepCompare(state, copyState); + }; + /** + * Removes all of the dom elements from the document + */ + StateRestore.prototype.destroy = function () { + Object.values(this.dom).forEach(function (node) { return node.off().remove(); }); + }; + /** + * Loads the state referenced by the identifier from storage + * + * @param state The identifier of the state that should be loaded + * @returns the state that has been loaded + */ + StateRestore.prototype.load = function () { + var _this = this; + var loadedState = this.s.savedState; + var settings = this.s.dt.settings()[0]; + // Always want the states stored here to be loaded in - regardless of when they were created + loadedState.time = +new Date(); + settings.oLoadedState = $$2.extend(true, {}, loadedState); + // Click on a background if there is one to shut the collection + $$2('div.dt-button-background').click(); + // Call the internal datatables function to implement the state on the table + $$2.fn.dataTable.ext.oApi._fnImplementState(settings, loadedState, function () { + var correctPaging = function (e, preSettings) { + setTimeout(function () { + var currpage = preSettings._iDisplayStart / preSettings._iDisplayLength; + var intendedPage = loadedState.start / loadedState.length; + // If the paging is incorrect then we have to set it again so that it is correct + // This happens when a searchpanes filter is removed + // This has to happen in a timeout because searchpanes only deselects after a timeout + if (currpage >= 0 && intendedPage >= 0 && currpage !== intendedPage) { + _this.s.dt.page(intendedPage).draw(false); + } + }, 50); + }; + _this.s.dt.one('preDraw', correctPaging); + _this.s.dt.draw(false); + }); + return loadedState; + }; + /** + * Shows a modal that allows a state to be renamed + * + * @param newIdentifier Optional. The new identifier for this state + */ + StateRestore.prototype.rename = function (newIdentifier, currentIdentifiers) { + var _this = this; + if (newIdentifier === void 0) { newIdentifier = null; } + // Check if renaming of states is allowed + if (!this.c.rename) { + return; + } + var renameFunction = function () { + var _a; + if (newIdentifier === null) { + var tempIdentifier = $$2('input.' + _this.classes.input.replace(/ /g, '.')).val(); + if (tempIdentifier.length === 0) { + _this.dom.confirmation.children('.' + _this.classes.modalError).remove(); + _this.dom.confirmation.append(_this.dom.emptyError); + return 'empty'; + } + else if (currentIdentifiers.includes(tempIdentifier)) { + _this.dom.confirmation.children('.' + _this.classes.modalError).remove(); + _this.dom.confirmation.append(_this.dom.duplicateError); + return 'duplicate'; + } + else { + newIdentifier = tempIdentifier; + } + } + var ajaxData = { + action: 'rename', + stateRestore: (_a = {}, + _a[_this.s.identifier] = newIdentifier, + _a) + }; + var successCallback = function () { + _this.s.identifier = newIdentifier; + _this.save(_this.s.savedState, function () { return null; }, false); + _this.dom.removeContents = $$2('<div class="' + _this.classes.confirmationText + '"><span>' + + _this.s.dt + .i18n('stateRestore.removeConfirm', _this.c.i18n.removeConfirm) + .replace(/%s/g, _this.s.identifier) + + '</span></div>'); + _this.dom.confirmation.trigger('dtsr-rename'); + _this.dom.background.click(); + _this.dom.confirmation.remove(); + $$2(document).unbind('keyup', function (e) { return _this._keyupFunction(e); }); + _this.dom.confirmationButton.off('click'); + }; + if (!_this.c.ajax) { + try { + localStorage.removeItem('DataTables_stateRestore_' + _this.s.identifier + '_' + location.pathname + + (_this.s.tableId ? '_' + _this.s.tableId : '')); + successCallback(); + } + catch (e) { + _this.dom.confirmation.children('.' + _this.classes.modalError).remove(); + _this.dom.confirmation.append(_this.dom.removeError); + return false; + } + } + else if (typeof _this.c.ajax === 'string' && _this.s.dt.settings()[0]._bInitComplete) { + $$2.ajax({ + data: ajaxData, + success: successCallback, + type: 'POST', + url: _this.c.ajax + }); + } + else if (typeof _this.c.ajax === 'function') { + _this.c.ajax.call(_this.s.dt, ajaxData, successCallback); + } + return true; + }; + // Check if a new identifier has been provided, if so no need for a modal + if (newIdentifier !== null) { + if (currentIdentifiers.includes(newIdentifier)) { + throw new Error(this.s.dt.i18n('stateRestore.duplicateError', this.c.i18n.duplicateError)); + } + else if (newIdentifier.length === 0) { + throw new Error(this.s.dt.i18n('stateRestore.emptyError', this.c.i18n.emptyError)); + } + else { + this.dom.confirmation.appendTo(this.dom.dtContainer); + $$2(this.s.dt.table().node()).trigger('dtsr-modal-inserted'); + renameFunction(); + this.dom.confirmation.remove(); + } + } + else { + this.dom.renameInput.val(this.s.identifier); + this.dom.renameContents.append(this.dom.renameInput); + this._newModal(this.dom.renameTitle, this.s.dt.i18n('stateRestore.renameButton', this.c.i18n.renameButton), renameFunction, this.dom.renameContents); + } + }; + /** + * Saves the tables current state using the identifier that is passed in. + * + * @param state Optional. If provided this is the state that will be saved rather than using the current state + */ + StateRestore.prototype.save = function (state, passedSuccessCallback, callAjax) { + var _a; + var _this = this; + if (callAjax === void 0) { callAjax = true; } + // Check if saving states is allowed + if (!this.c.save) { + if (passedSuccessCallback) { + passedSuccessCallback.call(this); + } + return; + } + // this.s.dt.state.save(); + var savedState; + // If no state has been provided then create a new one from the current state + this.s.dt.state.save(); + if (state === undefined) { + savedState = this.s.dt.state(); + } + else if (typeof state !== 'object') { + return; + } + else { + savedState = state; + } + if (savedState.stateRestore) { + savedState.stateRestore.isPreDefined = this.s.isPreDefined; + savedState.stateRestore.state = this.s.identifier; + savedState.stateRestore.tableId = this.s.tableId; + } + else { + savedState.stateRestore = { + isPreDefined: this.s.isPreDefined, + state: this.s.identifier, + tableId: this.s.tableId + }; + } + this.s.savedState = savedState; + // Order + if (!this.c.saveState.order) { + this.s.savedState.order = undefined; + } + // Search + if (!this.c.saveState.search) { + this.s.savedState.search = undefined; + } + // Columns + if (this.c.saveState.columns && this.s.savedState.columns) { + for (var i = 0, ien = this.s.savedState.columns.length; i < ien; i++) { + // Visibility + if (typeof this.c.saveState.columns !== 'boolean' && !this.c.saveState.columns.visible) { + this.s.savedState.columns[i].visible = undefined; + } + // Search + if (typeof this.c.saveState.columns !== 'boolean' && !this.c.saveState.columns.search) { + this.s.savedState.columns[i].search = undefined; + } + } + } + else if (!this.c.saveState.columns) { + this.s.savedState.columns = undefined; + } + // SearchBuilder + if (!this.c.saveState.searchBuilder) { + this.s.savedState.searchBuilder = undefined; + } + // SearchPanes + if (!this.c.saveState.searchPanes) { + this.s.savedState.searchPanes = undefined; + } + // Select + if (!this.c.saveState.select) { + this.s.savedState.select = undefined; + } + // ColReorder + if (!this.c.saveState.colReorder) { + this.s.savedState.ColReorder = undefined; + } + // Scroller + if (!this.c.saveState.scroller) { + this.s.savedState.scroller = undefined; + if (dataTable$1.Scroller !== undefined) { + this.s.savedState.start = 0; + } + } + // Paging + if (!this.c.saveState.paging) { + this.s.savedState.start = 0; + } + // Page Length + if (!this.c.saveState.length) { + this.s.savedState.length = undefined; + } + this.s.savedState.c = this.c; + // Need to remove the parent reference before we save the state + // Its not needed to rebuild, but it does cause a circular reference when converting to JSON + if (this.s.savedState.c.splitSecondaries.length) { + for (var _i = 0, _b = this.s.savedState.c.splitSecondaries; _i < _b.length; _i++) { + var secondary = _b[_i]; + if (secondary.parent) { + secondary.parent = undefined; + } + } + } + // If the state is predefined there is no need to save it over ajax or to local storage + if (this.s.isPreDefined) { + if (passedSuccessCallback) { + passedSuccessCallback.call(this); + } + return; + } + var ajaxData = { + action: 'save', + stateRestore: (_a = {}, + _a[this.s.identifier] = this.s.savedState, + _a) + }; + var successCallback = function () { + if (passedSuccessCallback) { + passedSuccessCallback.call(_this); + } + _this.dom.confirmation.trigger('dtsr-save'); + $$2(_this.s.dt.table().node()).trigger('stateRestore-change'); + }; + if (!this.c.ajax) { + localStorage.setItem('DataTables_stateRestore_' + this.s.identifier + '_' + location.pathname + + (this.s.tableId ? '_' + this.s.tableId : ''), JSON.stringify(this.s.savedState)); + successCallback(); + } + else if (typeof this.c.ajax === 'string' && callAjax) { + if (this.s.dt.settings()[0]._bInitComplete) { + $$2.ajax({ + data: ajaxData, + success: successCallback, + type: 'POST', + url: this.c.ajax + }); + } + else { + this.s.dt.one('init', function () { + $$2.ajax({ + data: ajaxData, + success: successCallback, + type: 'POST', + url: _this.c.ajax + }); + }); + } + } + else if (typeof this.c.ajax === 'function' && callAjax) { + this.c.ajax.call(this.s.dt, ajaxData, successCallback); + } + }; + /** + * Performs a deep compare of two state objects, returning true if they match + * + * @param state1 The first object to compare + * @param state2 The second object to compare + * @returns boolean indicating if the objects match + */ + StateRestore.prototype._deepCompare = function (state1, state2) { + // Put keys and states into arrays as this makes the later code easier to work + var states = [state1, state2]; + var keys = [Object.keys(state1).sort(), Object.keys(state2).sort()]; + // If scroller is included then we need to remove the start value + // as it can be different but yield the same results + if (keys[0].includes('scroller')) { + var startIdx = keys[0].indexOf('start'); + if (startIdx) { + keys[0].splice(startIdx, 1); + } + } + if (keys[1].includes('scroller')) { + var startIdx = keys[1].indexOf('start'); + if (startIdx) { + keys[1].splice(startIdx, 1); + } + } + // We want to remove any private properties within the states + for (var i = 0; i < keys[0].length; i++) { + if (keys[0][i].indexOf('_') === 0) { + keys[0].splice(i, 1); + i--; + continue; + } + // If scroller is included then we need to remove the following values + // as they can be different but yield the same results + if (keys[0][i] === 'baseRowTop' || + keys[0][i] === 'baseScrollTop' || + keys[0][i] === 'scrollTop' || + (!this.c.saveState.paging && keys[0][i] === 'page')) { + keys[0].splice(i, 1); + i--; + continue; + } + } + for (var i = 0; i < keys[1].length; i++) { + if (keys[1][i].indexOf('_') === 0) { + keys[1].splice(i, 1); + i--; + continue; + } + if (keys[1][i] === 'baseRowTop' || + keys[1][i] === 'baseScrollTop' || + keys[1][i] === 'scrollTop' || + (!this.c.saveState.paging && keys[0][i] === 'page')) { + keys[1].splice(i, 1); + i--; + continue; + } + } + if (keys[0].length === 0 && keys[1].length > 0 || + keys[1].length === 0 && keys[0].length > 0) { + return false; + } + // We are only going to compare the keys that are common between both states + for (var i = 0; i < keys[0].length; i++) { + if (!keys[1].includes(keys[0][i])) { + keys[0].splice(i, 1); + i--; + } + } + for (var i = 0; i < keys[1].length; i++) { + if (!keys[0].includes(keys[1][i])) { + keys[1].splice(i, 1); + i--; + } + } + // Then each key and value has to be checked against each other + for (var i = 0; i < keys[0].length; i++) { + // If the keys dont equal, or their corresponding types are different we can return false + if (keys[0][i] !== keys[1][i] || typeof states[0][keys[0][i]] !== typeof states[1][keys[1][i]]) { + return false; + } + // If the type is an object then further deep comparisons are required + if (typeof states[0][keys[0][i]] === 'object') { + if (!this._deepCompare(states[0][keys[0][i]], states[1][keys[1][i]])) { + return false; + } + } + else if (typeof states[0][keys[0][i]] === 'number' && typeof states[1][keys[1][i]] === 'number') { + if (Math.round(states[0][keys[0][i]]) !== Math.round(states[1][keys[1][i]])) { + return false; + } + } + // Otherwise we can just check the value + else if (states[0][keys[0][i]] !== states[1][keys[1][i]]) { + return false; + } + } + // If we get all the way to here there are no differences so return true for this object + return true; + }; + StateRestore.prototype._keyupFunction = function (e) { + // If enter same action as pressing the button + if (e.key === 'Enter') { + this.dom.confirmationButton.click(); + } + // If escape close modal + else if (e.key === 'Escape') { + $$2('div.' + this.classes.background.replace(/ /g, '.')).click(); + } + }; + /** + * Creates a new confirmation modal for the user to approve an action + * + * @param title The title that is to be displayed at the top of the modal + * @param buttonText The text that is to be displayed in the confirmation button of the modal + * @param buttonAction The action that should be taken when the confirmation button is pressed + * @param modalContents The contents for the main body of the modal + */ + StateRestore.prototype._newModal = function (title, buttonText, buttonAction, modalContents) { + var _this = this; + this.dom.background.appendTo(this.dom.dtContainer); + this.dom.confirmationTitleRow.empty().append(title); + this.dom.confirmationButton.html(buttonText); + this.dom.confirmation + .empty() + .append(this.dom.confirmationTitleRow) + .append(modalContents) + .append($$2('<div class="' + this.classes.confirmationButtons + '"></div>') + .append(this.dom.confirmationButton)) + .appendTo(this.dom.dtContainer); + $$2(this.s.dt.table().node()).trigger('dtsr-modal-inserted'); + var inputs = modalContents.children('input'); + // If there is an input focus on that + if (inputs.length > 0) { + $$2(inputs[0]).focus(); + } + // Otherwise focus on the confirmation button + else { + this.dom.confirmationButton.focus(); + } + var background = $$2('div.' + this.classes.background.replace(/ /g, '.')); + if (this.c.modalCloseButton) { + this.dom.confirmation.append(this.dom.closeButton); + this.dom.closeButton.on('click', function () { return background.click(); }); + } + // When the button is clicked, call the appropriate action, + // remove the background and modal from the screen and unbind the keyup event. + this.dom.confirmationButton.on('click', function () { return buttonAction(); }); + this.dom.confirmation.on('click', function (e) { + e.stopPropagation(); + }); + // When the button is clicked, remove the background and modal from the screen and unbind the keyup event. + background.one('click', function () { + _this.dom.background.remove(); + _this.dom.confirmation.remove(); + $$2(document).unbind('keyup', function (e) { return _this._keyupFunction(e); }); + }); + $$2(document).on('keyup', function (e) { return _this._keyupFunction(e); }); + }; + /** + * Convert from camelCase notation to the internal Hungarian. + * We could use the Hungarian convert function here, but this is cleaner + * + * @param {object} obj Object to convert + * @returns {object} Inverted object + * @memberof DataTable#oApi + */ + StateRestore.prototype._searchToHung = function (obj) { + return { + bCaseInsensitive: obj.caseInsensitive, + bRegex: obj.regex, + bSmart: obj.smart, + sSearch: obj.search + }; + }; + StateRestore.version = '1.2.2'; + StateRestore.classes = { + background: 'dtsr-background', + closeButton: 'dtsr-popover-close', + confirmation: 'dtsr-confirmation', + confirmationButton: 'dtsr-confirmation-button', + confirmationButtons: 'dtsr-confirmation-buttons', + confirmationMessage: 'dtsr-confirmation-message dtsr-name-label', + confirmationText: 'dtsr-confirmation-text', + confirmationTitle: 'dtsr-confirmation-title', + confirmationTitleRow: 'dtsr-confirmation-title-row', + dtButton: 'dt-button', + input: 'dtsr-input', + modalError: 'dtsr-modal-error', + renameModal: 'dtsr-rename-modal' + }; + StateRestore.defaults = { + _createInSaved: false, + ajax: false, + create: true, + creationModal: false, + i18n: { + creationModal: { + button: 'Create', + colReorder: 'Column Order:', + columns: { + search: 'Column Search:', + visible: 'Column Visibility:' + }, + length: 'Page Length:', + name: 'Name:', + order: 'Sorting:', + paging: 'Paging:', + scroller: 'Scroll Position:', + search: 'Search:', + searchBuilder: 'SearchBuilder:', + searchPanes: 'SearchPanes:', + select: 'Select:', + title: 'Create New State', + toggleLabel: 'Includes:' + }, + duplicateError: 'A state with this name already exists.', + emptyError: 'Name cannot be empty.', + emptyStates: 'No saved states', + removeConfirm: 'Are you sure you want to remove %s?', + removeError: 'Failed to remove state.', + removeJoiner: ' and ', + removeSubmit: 'Remove', + removeTitle: 'Remove State', + renameButton: 'Rename', + renameLabel: 'New Name for %s:', + renameTitle: 'Rename State' + }, + modalCloseButton: true, + remove: true, + rename: true, + save: true, + saveState: { + colReorder: true, + columns: { + search: true, + visible: true + }, + length: true, + order: true, + paging: true, + scroller: true, + search: true, + searchBuilder: true, + searchPanes: true, + select: true + }, + splitSecondaries: [ + 'updateState', + 'renameState', + 'removeState' + ], + toggle: { + colReorder: false, + columns: { + search: false, + visible: false + }, + length: false, + order: false, + paging: false, + scroller: false, + search: false, + searchBuilder: false, + searchPanes: false, + select: false + } + }; + return StateRestore; + }()); + + var $$1; + var dataTable; + function setJQuery(jq) { + $$1 = jq; + dataTable = jq.fn.dataTable; + } + var StateRestoreCollection = /** @class */ (function () { + function StateRestoreCollection(settings, opts) { + var _this = this; + // Check that the required version of DataTables is included + if (!dataTable || !dataTable.versionCheck || !dataTable.versionCheck('1.10.0')) { + throw new Error('StateRestore requires DataTables 1.10 or newer'); + } + // Check that Select is included + // eslint-disable-next-line no-extra-parens + if (!dataTable.Buttons) { + throw new Error('StateRestore requires Buttons'); + } + var table = new dataTable.Api(settings); + this.classes = $$1.extend(true, {}, StateRestoreCollection.classes); + if (table.settings()[0]._stateRestore !== undefined) { + return; + } + // Get options from user + this.c = $$1.extend(true, {}, StateRestoreCollection.defaults, opts); + this.s = { + dt: table, + hasColReorder: dataTable.ColReorder !== undefined, + hasScroller: dataTable.Scroller !== undefined, + hasSearchBuilder: dataTable.SearchBuilder !== undefined, + hasSearchPanes: dataTable.SearchPanes !== undefined, + hasSelect: dataTable.select !== undefined, + states: [] + }; + this.s.dt.on('xhr', function (e, xhrsettings, json) { + // Has staterestore been used before? Is there anything to load? + if (json && json.stateRestore) { + _this._addPreDefined(json.stateRestore); + } + }); + this.dom = { + background: $$1('<div class="' + this.classes.background + '"/>'), + closeButton: $$1('<div class="' + this.classes.closeButton + '">x</div>'), + colReorderToggle: $$1('<div class="' + this.classes.formRow + ' ' + this.classes.checkRow + '">' + + '<input type="checkbox" class="' + + this.classes.colReorderToggle + ' ' + + this.classes.checkBox + + '" checked>' + + '<label class="' + this.classes.checkLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.colReorder', this.c.i18n.creationModal.colReorder) + + '</label>' + + '</div>'), + columnsSearchToggle: $$1('<div class="' + this.classes.formRow + ' ' + this.classes.checkRow + '">' + + '<input type="checkbox" class="' + + this.classes.columnsSearchToggle + ' ' + + this.classes.checkBox + + '" checked>' + + '<label class="' + this.classes.checkLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.columns.search', this.c.i18n.creationModal.columns.search) + + '</label>' + + '</div>'), + columnsVisibleToggle: $$1('<div class="' + this.classes.formRow + ' ' + this.classes.checkRow + ' ' + '">' + + '<input type="checkbox" class="' + + this.classes.columnsVisibleToggle + ' ' + + this.classes.checkBox + + '" checked>' + + '<label class="' + this.classes.checkLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.columns.visible', this.c.i18n.creationModal.columns.visible) + + '</label>' + + '</div>'), + confirmation: $$1('<div class="' + this.classes.confirmation + '"/>'), + confirmationTitleRow: $$1('<div class="' + this.classes.confirmationTitleRow + '"></div>'), + createButtonRow: $$1('<div class="' + this.classes.formRow + ' ' + this.classes.modalFoot + '">' + + '<button class="' + this.classes.creationButton + ' ' + this.classes.dtButton + '">' + + this.s.dt.i18n('stateRestore.creationModal.button', this.c.i18n.creationModal.button) + + '</button>' + + '</div>'), + creation: $$1('<div class="' + this.classes.creation + '"/>'), + creationForm: $$1('<div class="' + this.classes.creationForm + '"/>'), + creationTitle: $$1('<div class="' + this.classes.creationText + '">' + + '<h2 class="' + this.classes.creationTitle + '">' + + this.s.dt.i18n('stateRestore.creationModal.title', this.c.i18n.creationModal.title) + + '</h2>' + + '</div>'), + dtContainer: $$1(this.s.dt.table().container()), + duplicateError: $$1('<span class="' + this.classes.modalError + '">' + + this.s.dt.i18n('stateRestore.duplicateError', this.c.i18n.duplicateError) + + '</span>'), + emptyError: $$1('<span class="' + this.classes.modalError + '">' + + this.s.dt.i18n('stateRestore.emptyError', this.c.i18n.emptyError) + + '</span>'), + lengthToggle: $$1('<div class="' + this.classes.formRow + ' ' + this.classes.checkRow + '">' + + '<input type="checkbox" class="' + + this.classes.lengthToggle + ' ' + + this.classes.checkBox + + '" checked>' + + '<label class="' + this.classes.checkLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.length', this.c.i18n.creationModal.length) + + '</label>' + + '</div>'), + nameInputRow: $$1('<div class="' + this.classes.formRow + '">' + + '<label class="' + this.classes.nameLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.name', this.c.i18n.creationModal.name) + + '</label>' + + '<input class="' + this.classes.nameInput + '" type="text">' + + '</div>'), + orderToggle: $$1('<div class="' + this.classes.formRow + ' ' + this.classes.checkRow + '">' + + '<input type="checkbox" class="' + + this.classes.orderToggle + ' ' + + this.classes.checkBox + + '" checked>' + + '<label class="' + this.classes.checkLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.order', this.c.i18n.creationModal.order) + + '</label>' + + '</div>'), + pagingToggle: $$1('<div class="' + this.classes.formRow + ' ' + this.classes.checkRow + '">' + + '<input type="checkbox" class="' + + this.classes.pagingToggle + ' ' + + this.classes.checkBox + + '" checked>' + + '<label class="' + this.classes.checkLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.paging', this.c.i18n.creationModal.paging) + + '</label>' + + '</div>'), + removeContents: $$1('<div class="' + this.classes.confirmationText + '"><span></span></div>'), + removeTitle: $$1('<div class="' + this.classes.creationText + '">' + + '<h2 class="' + this.classes.creationTitle + '">' + + this.s.dt.i18n('stateRestore.removeTitle', this.c.i18n.removeTitle) + + '</h2>' + + '</div>'), + scrollerToggle: $$1('<div class="' + this.classes.formRow + ' ' + this.classes.checkRow + '">' + + '<input type="checkbox" class="' + + this.classes.scrollerToggle + ' ' + + this.classes.checkBox + + '" checked>' + + '<label class="' + this.classes.checkLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.scroller', this.c.i18n.creationModal.scroller) + + '</label>' + + '</div>'), + searchBuilderToggle: $$1('<div class="' + this.classes.formRow + ' ' + this.classes.checkRow + '">' + + '<input type="checkbox" class="' + + this.classes.searchBuilderToggle + ' ' + + this.classes.checkBox + + '" checked>' + + '<label class="' + this.classes.checkLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.searchBuilder', this.c.i18n.creationModal.searchBuilder) + + '</label>' + + '</div>'), + searchPanesToggle: $$1('<div class="' + this.classes.formRow + ' ' + this.classes.checkRow + '">' + + '<input type="checkbox" class="' + + this.classes.searchPanesToggle + ' ' + + this.classes.checkBox + + '" checked>' + + '<label class="' + this.classes.checkLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.searchPanes', this.c.i18n.creationModal.searchPanes) + + '</label>' + + '</div>'), + searchToggle: $$1('<div class="' + this.classes.formRow + ' ' + this.classes.checkRow + '">' + + '<input type="checkbox" class="' + + this.classes.searchToggle + ' ' + + this.classes.checkBox + + '" checked>' + + '<label class="' + this.classes.checkLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.search', this.c.i18n.creationModal.search) + + '</label>' + + '</div>'), + selectToggle: $$1('<div class="' + this.classes.formRow + ' ' + this.classes.checkRow + '">' + + '<input type="checkbox" class="' + + this.classes.selectToggle + ' ' + + this.classes.checkBox + + '" checked>' + + '<label class="' + this.classes.checkLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.select', this.c.i18n.creationModal.select) + + '</label>' + + '</div>'), + toggleLabel: $$1('<label class="' + this.classes.nameLabel + ' ' + this.classes.toggleLabel + '">' + + this.s.dt.i18n('stateRestore.creationModal.toggleLabel', this.c.i18n.creationModal.toggleLabel) + + '</label>') + }; + table.settings()[0]._stateRestore = this; + this._searchForStates(); + // Has staterestore been used before? Is there anything to load? + this._addPreDefined(this.c.preDefined); + var ajaxFunction; + var ajaxData = { + action: 'load' + }; + if (typeof this.c.ajax === 'function') { + ajaxFunction = function () { + if (typeof _this.c.ajax === 'function') { + _this.c.ajax.call(_this.s.dt, ajaxData, function (s) { return _this._addPreDefined(s); }); + } + }; + } + else if (typeof this.c.ajax === 'string') { + ajaxFunction = function () { + $$1.ajax({ + data: ajaxData, + success: function (data) { + _this._addPreDefined(data); + }, + type: 'POST', + url: _this.c.ajax + }); + }; + } + if (typeof ajaxFunction === 'function') { + if (this.s.dt.settings()[0]._bInitComplete) { + ajaxFunction(); + } + else { + this.s.dt.one('preInit.dtsr', function () { + ajaxFunction(); + }); + } + } + this.s.dt.on('destroy.dtsr', function () { + _this.destroy(); + }); + this.s.dt.on('draw.dtsr buttons-action.dtsr', function () { return _this.findActive(); }); + return this; + } + /** + * Adds a new StateRestore instance to the collection based on the current properties of the table + * + * @param identifier The value that is used to identify a state. + * @returns The state that has been created + */ + StateRestoreCollection.prototype.addState = function (identifier, currentIdentifiers, options) { + var _this = this; + // If creation/saving is not allowed then return + if (!this.c.create || !this.c.save) { + return; + } + // Check if the state exists before creating a new ones + var state = this.getState(identifier); + var createFunction = function (id, toggles) { + if (id.length === 0) { + return 'empty'; + } + else if (currentIdentifiers.includes(id)) { + return 'duplicate'; + } + _this.s.dt.state.save(); + var that = _this; + var successCallback = function () { + that.s.states.push(this); + that._collectionRebuild(); + }; + var currState = _this.s.dt.state(); + currState.stateRestore = { + isPredefined: false, + state: id, + tableId: _this.s.dt.table().node().id + }; + if (toggles.saveState) { + var opts = _this.c.saveState; + // We don't want to extend, but instead AND all properties of the saveState option + for (var _i = 0, _a = Object.keys(toggles.saveState); _i < _a.length; _i++) { + var key = _a[_i]; + if (!toggles.saveState[key]) { + opts[key] = false; + } + } + _this.c.saveState = opts; + } + var newState = new StateRestore(_this.s.dt.settings()[0], $$1.extend(true, {}, _this.c, options), id, currState, false, successCallback); + $$1(_this.s.dt.table().node()).on('dtsr-modal-inserted', function () { + newState.dom.confirmation.one('dtsr-remove', function () { return _this._removeCallback(newState.s.identifier); }); + newState.dom.confirmation.one('dtsr-rename', function () { return _this._collectionRebuild(); }); + newState.dom.confirmation.one('dtsr-save', function () { return _this._collectionRebuild(); }); + }); + return true; + }; + // If there isn't already a state with this identifier + if (state === null) { + if (this.c.creationModal || options !== undefined && options.creationModal) { + this._creationModal(createFunction, identifier, options); + } + else { + var success = createFunction(identifier, {}); + if (success === 'empty') { + throw new Error(this.s.dt.i18n('stateRestore.emptyError', this.c.i18n.emptyError)); + } + else if (success === 'duplicate') { + throw new Error(this.s.dt.i18n('stateRestore.duplicateError', this.c.i18n.duplicateError)); + } + } + } + else { + throw new Error(this.s.dt.i18n('stateRestore.duplicateError', this.c.i18n.duplicateError)); + } + }; + /** + * Removes all of the states, showing a modal to the user for confirmation + * + * @param removeFunction The action to be taken when the action is confirmed + */ + StateRestoreCollection.prototype.removeAll = function (removeFunction) { + // There are no states to remove so just return + if (this.s.states.length === 0) { + return; + } + var ids = this.s.states.map(function (state) { return state.s.identifier; }); + var replacementString = ids[0]; + if (ids.length > 1) { + replacementString = ids.slice(0, -1).join(', ') + + this.s.dt.i18n('stateRestore.removeJoiner', this.c.i18n.removeJoiner) + + ids.slice(-1); + } + $$1(this.dom.removeContents.children('span')).html(this.s.dt + .i18n('stateRestore.removeConfirm', this.c.i18n.removeConfirm) + .replace(/%s/g, replacementString)); + this._newModal(this.dom.removeTitle, this.s.dt.i18n('stateRestore.removeSubmit', this.c.i18n.removeSubmit), removeFunction, this.dom.removeContents); + }; + /** + * Removes all of the dom elements from the document for the collection and the stored states + */ + StateRestoreCollection.prototype.destroy = function () { + for (var _i = 0, _a = this.s.states; _i < _a.length; _i++) { + var state = _a[_i]; + state.destroy(); + } + Object.values(this.dom).forEach(function (node) { + node.off(); + node.remove(); + }); + this.s.states = []; + this.s.dt.off('.dtsr'); + $$1(this.s.dt.table().node()).off('.dtsr'); + }; + /** + * Identifies active states and updates their button to reflect this. + * + * @returns An array containing objects with the details of currently active states + */ + StateRestoreCollection.prototype.findActive = function () { + // Make sure that the state is up to date + this.s.dt.state.save(); + var currState = this.s.dt.state(); + // Make all of the buttons inactive so that only any that match will be marked as active + var buttons = $$1('button.' + $$1.fn.DataTable.Buttons.defaults.dom.button.className.replace(/ /g, '.')); + // Some of the styling libraries use a tags instead of buttons + if (buttons.length === 0) { + buttons = $$1('a.' + $$1.fn.DataTable.Buttons.defaults.dom.button.className.replace(/ /g, '.')); + } + for (var _i = 0, buttons_1 = buttons; _i < buttons_1.length; _i++) { + var button = buttons_1[_i]; + this.s.dt.button($$1(button).parent()[0]).active(false); + } + var results = []; + // Go through all of the states comparing if their state is the same to the current one + for (var _a = 0, _b = this.s.states; _a < _b.length; _a++) { + var state = _b[_a]; + if (state.compare(currState)) { + results.push({ + data: state.s.savedState, + name: state.s.identifier + }); + // If so, find the corresponding button and mark it as active + for (var _c = 0, buttons_2 = buttons; _c < buttons_2.length; _c++) { + var button = buttons_2[_c]; + if ($$1(button).text() === state.s.identifier) { + this.s.dt.button($$1(button).parent()[0]).active(true); + break; + } + } + } + } + return results; + }; + /** + * Gets a single state that has the identifier matching that which is passed in + * + * @param identifier The value that is used to identify a state + * @returns The state that has been identified or null if no states have been identified + */ + StateRestoreCollection.prototype.getState = function (identifier) { + for (var _i = 0, _a = this.s.states; _i < _a.length; _i++) { + var state = _a[_i]; + if (state.s.identifier === identifier) { + return state; + } + } + return null; + }; + /** + * Gets an array of all of the states + * + * @returns Any states that have been identified + */ + StateRestoreCollection.prototype.getStates = function (ids) { + if (ids === undefined) { + return this.s.states; + } + else { + var states = []; + for (var _i = 0, ids_1 = ids; _i < ids_1.length; _i++) { + var id = ids_1[_i]; + var found = false; + for (var _a = 0, _b = this.s.states; _a < _b.length; _a++) { + var state = _b[_a]; + if (id === state.s.identifier) { + states.push(state); + found = true; + break; + } + } + if (!found) { + states.push(undefined); + } + } + return states; + } + }; + /** + * Reloads states that are set via datatables config or over ajax + * + * @param preDefined Object containing the predefined states that are to be reintroduced + */ + StateRestoreCollection.prototype._addPreDefined = function (preDefined) { + var _this = this; + // There is a potential issue here if sorting where the string parts of the name are the same, + // only the number differs and there are many states - but this wouldn't be usfeul naming so + // more of a priority to sort alphabetically + var states = Object.keys(preDefined).sort(function (a, b) { return a > b ? 1 : a < b ? -1 : 0; }); + var _loop_1 = function (state) { + for (var i = 0; i < this_1.s.states.length; i++) { + if (this_1.s.states[i].s.identifier === state) { + this_1.s.states.splice(i, 1); + } + } + var that = this_1; + var successCallback = function () { + that.s.states.push(this); + that._collectionRebuild(); + }; + var loadedState = preDefined[state]; + var newState = new StateRestore(this_1.s.dt, $$1.extend(true, {}, this_1.c, loadedState.c !== undefined ? + { saveState: loadedState.c.saveState } : + undefined, true), state, loadedState, true, successCallback); + newState.s.savedState = loadedState; + $$1(this_1.s.dt.table().node()).on('dtsr-modal-inserted', function () { + newState.dom.confirmation.one('dtsr-remove', function () { return _this._removeCallback(newState.s.identifier); }); + newState.dom.confirmation.one('dtsr-rename', function () { return _this._collectionRebuild(); }); + newState.dom.confirmation.one('dtsr-save', function () { return _this._collectionRebuild(); }); + }); + }; + var this_1 = this; + for (var _i = 0, states_1 = states; _i < states_1.length; _i++) { + var state = states_1[_i]; + _loop_1(state); + } + }; + /** + * Rebuilds all of the buttons in the collection of states to make sure that states and text is up to date + */ + StateRestoreCollection.prototype._collectionRebuild = function () { + var button = this.s.dt.button('SaveStateRestore:name'); + var stateButtons = []; + // Need to get the original configuration object, so we can rebuild it + // It might be nested, so need to traverse down the tree + if (button[0]) { + var idxs = button.index().split('-'); + stateButtons = button[0].inst.c.buttons; + for (var i = 0; i < idxs.length; i++) { + if (stateButtons[idxs[i]].buttons) { + stateButtons = stateButtons[idxs[i]].buttons; + } + else { + stateButtons = []; + break; + } + } + } + // remove any states from the previous rebuild - if they are still there they will be added later + for (var i = 0; i < stateButtons.length; i++) { + if (stateButtons[i].extend === 'stateRestore') { + stateButtons.splice(i, 1); + i--; + } + } + if (this.c._createInSaved) { + stateButtons.push('createState'); + } + var emptyText = '<span class="' + this.classes.emptyStates + '">' + + this.s.dt.i18n('stateRestore.emptyStates', this.c.i18n.emptyStates) + + '</span>'; + // If there are no states display an empty message + if (this.s.states.length === 0) { + // Don't want the empty text included more than twice + if (!stateButtons.includes(emptyText)) { + stateButtons.push(emptyText); + } + } + else { + // There are states to add so there shouldn't be any empty text left! + while (stateButtons.includes(emptyText)) { + stateButtons.splice(stateButtons.indexOf(emptyText), 1); + } + // There is a potential issue here if sorting where the string parts of the name are the same, + // only the number differs and there are many states - but this wouldn't be usfeul naming so + // more of a priority to sort alphabetically + this.s.states = this.s.states.sort(function (a, b) { + var aId = a.s.identifier; + var bId = b.s.identifier; + return aId > bId ? + 1 : + aId < bId ? + -1 : + 0; + }); + // Construct the split property of each button + for (var _i = 0, _a = this.s.states; _i < _a.length; _i++) { + var state = _a[_i]; + var split = Object.assign([], this.c.splitSecondaries); + if (split.includes('updateState') && (!this.c.save || !state.c.save)) { + split.splice(split.indexOf('updateState'), 1); + } + if (split.includes('renameState') && + (!this.c.save || !state.c.save || !this.c.rename || !state.c.rename)) { + split.splice(split.indexOf('renameState'), 1); + } + if (split.includes('removeState') && (!this.c.remove || !state.c.remove)) { + split.splice(split.indexOf('removeState'), 1); + } + if (split.length > 0 && + !split.includes('<h3>' + state.s.identifier + '</h3>')) { + split.unshift('<h3>' + state.s.identifier + '</h3>'); + } + stateButtons.push({ + _stateRestore: state, + attr: { + title: state.s.identifier + }, + config: { + split: split + }, + extend: 'stateRestore', + text: state.s.identifier + }); + } + } + button.collectionRebuild(stateButtons); + // Need to disable the removeAllStates button if there are no states and it is present + var buttons = this.s.dt.buttons(); + for (var _b = 0, buttons_3 = buttons; _b < buttons_3.length; _b++) { + var butt = buttons_3[_b]; + if ($$1(butt.node).hasClass('dtsr-removeAllStates')) { + if (this.s.states.length === 0) { + this.s.dt.button(butt.node).disable(); + } + else { + this.s.dt.button(butt.node).enable(); + } + } + } + }; + /** + * Displays a modal that is used to get information from the user to create a new state. + * + * @param buttonAction The action that should be taken when the button is pressed + * @param identifier The default identifier for the next new state + */ + StateRestoreCollection.prototype._creationModal = function (buttonAction, identifier, options) { + var _this = this; + this.dom.creation.empty(); + this.dom.creationForm.empty(); + this.dom.nameInputRow.children('input').val(identifier); + this.dom.creationForm.append(this.dom.nameInputRow); + var tableConfig = this.s.dt.settings()[0].oInit; + var togglesToInsert = []; + var toggleDefined = options !== undefined && options.toggle !== undefined; + // Order toggle - check toggle and saving enabled + if (((!toggleDefined || options.toggle.order === undefined) && this.c.toggle.order || + toggleDefined && options.toggle.order) && + this.c.saveState.order && + (tableConfig.ordering === undefined || tableConfig.ordering)) { + togglesToInsert.push(this.dom.orderToggle); + } + // Search toggle - check toggle and saving enabled + if (((!toggleDefined || options.toggle.search === undefined) && this.c.toggle.search || + toggleDefined && options.toggle.search) && + this.c.saveState.search && + (tableConfig.searching === undefined || tableConfig.searching)) { + togglesToInsert.push(this.dom.searchToggle); + } + // Paging toggle - check toggle and saving enabled + if (((!toggleDefined || options.toggle.paging === undefined) && this.c.toggle.paging || + toggleDefined && options.toggle.paging) && + this.c.saveState.paging && + (tableConfig.paging === undefined || tableConfig.paging)) { + togglesToInsert.push(this.dom.pagingToggle); + } + // Page Length toggle - check toggle and saving enabled + if (((!toggleDefined || options.toggle.length === undefined) && this.c.toggle.length || + toggleDefined && options.toggle.length) && + this.c.saveState.length && + (tableConfig.length === undefined || tableConfig.length)) { + togglesToInsert.push(this.dom.lengthToggle); + } + // ColReorder toggle - check toggle and saving enabled + if (this.s.hasColReorder && + ((!toggleDefined || options.toggle.colReorder === undefined) && this.c.toggle.colReorder || + toggleDefined && options.toggle.colReorder) && + this.c.saveState.colReorder) { + togglesToInsert.push(this.dom.colReorderToggle); + } + // Scroller toggle - check toggle and saving enabled + if (this.s.hasScroller && + ((!toggleDefined || options.toggle.scroller === undefined) && this.c.toggle.scroller || + toggleDefined && options.toggle.scroller) && + this.c.saveState.scroller) { + togglesToInsert.push(this.dom.scrollerToggle); + } + // SearchBuilder toggle - check toggle and saving enabled + if (this.s.hasSearchBuilder && + ((!toggleDefined || options.toggle.searchBuilder === undefined) && this.c.toggle.searchBuilder || + toggleDefined && options.toggle.searchBuilder) && + this.c.saveState.searchBuilder) { + togglesToInsert.push(this.dom.searchBuilderToggle); + } + // SearchPanes toggle - check toggle and saving enabled + if (this.s.hasSearchPanes && + ((!toggleDefined || options.toggle.searchPanes === undefined) && this.c.toggle.searchPanes || + toggleDefined && options.toggle.searchPanes) && + this.c.saveState.searchPanes) { + togglesToInsert.push(this.dom.searchPanesToggle); + } + // Select toggle - check toggle and saving enabled + if (this.s.hasSelect && + ((!toggleDefined || options.toggle.select === undefined) && this.c.toggle.select || + toggleDefined && options.toggle.select) && + this.c.saveState.select) { + togglesToInsert.push(this.dom.selectToggle); + } + // Columns toggle - check toggle and saving enabled + if (typeof this.c.toggle.columns === 'boolean' && + ((!toggleDefined || options.toggle.order === undefined) && this.c.toggle.columns || + toggleDefined && options.toggle.order) && + this.c.saveState.columns) { + togglesToInsert.push(this.dom.columnsSearchToggle); + togglesToInsert.push(this.dom.columnsVisibleToggle); + } + else if ((!toggleDefined || options.toggle.columns === undefined) && typeof this.c.toggle.columns !== 'boolean' || + typeof options.toggle.order !== 'boolean') { + if (typeof this.c.saveState.columns !== 'boolean' && this.c.saveState.columns) { + // Column search toggle - check toggle and saving enabled + if (( + // columns.search is defined when passed in + toggleDefined && + options.toggle.columns !== undefined && + typeof options.toggle.columns !== 'boolean' && + options.toggle.columns.search || + // Columns search is not defined when passed in but is in defaults + (!toggleDefined || + options.toggle.columns === undefined || + typeof options.toggle.columns !== 'boolean' && options.toggle.columns.search === undefined) && + typeof this.c.toggle.columns !== 'boolean' && + this.c.toggle.columns.search) && + this.c.saveState.columns.search) { + togglesToInsert.push(this.dom.columnsSearchToggle); + } + // Column visiblity toggle - check toggle and saving enabled + if (( + // columns.visible is defined when passed in + toggleDefined && + options.toggle.columns !== undefined && + typeof options.toggle.columns !== 'boolean' && + options.toggle.columns.visible || + // Columns visible is not defined when passed in but is in defaults + (!toggleDefined || + options.toggle.columns === undefined || + typeof options.toggle.columns !== 'boolean' && options.toggle.columns.visible === undefined) && + typeof this.c.toggle.columns !== 'boolean' && + this.c.toggle.columns.visible) && + this.c.saveState.columns.visible) { + togglesToInsert.push(this.dom.columnsVisibleToggle); + } + } + else if (this.c.saveState.columns) { + togglesToInsert.push(this.dom.columnsSearchToggle); + togglesToInsert.push(this.dom.columnsVisibleToggle); + } + } + // Make sure that the toggles are displayed alphabetically + togglesToInsert.sort(function (a, b) { + var aVal = a.children('label.dtsr-check-label')[0].innerHTML; + var bVal = b.children('label.dtsr-check-label')[0].innerHTML; + if (aVal < bVal) { + return -1; + } + else if (aVal > bVal) { + return 1; + } + else { + return 0; + } + }); + // Append all of the toggles that are to be inserted + for (var _i = 0, togglesToInsert_1 = togglesToInsert; _i < togglesToInsert_1.length; _i++) { + var toggle = togglesToInsert_1[_i]; + this.dom.creationForm.append(toggle); + } + // Insert the toggle label next to the first check box + $$1(this.dom.creationForm.children('div.' + this.classes.checkRow)[0]).prepend(this.dom.toggleLabel); + // Insert the creation modal and the background + this.dom.background.appendTo(this.dom.dtContainer); + this.dom.creation + .append(this.dom.creationTitle) + .append(this.dom.creationForm) + .append(this.dom.createButtonRow) + .appendTo(this.dom.dtContainer); + $$1(this.s.dt.table().node()).trigger('dtsr-modal-inserted'); + var _loop_2 = function (toggle) { + $$1(toggle.children('label:last-child')).on('click', function () { + toggle.children('input').prop('checked', !toggle.children('input').prop('checked')); + }); + }; + // Allow the label to be clicked to toggle the checkbox + for (var _a = 0, togglesToInsert_2 = togglesToInsert; _a < togglesToInsert_2.length; _a++) { + var toggle = togglesToInsert_2[_a]; + _loop_2(toggle); + } + var creationButton = $$1('button.' + this.classes.creationButton.replace(/ /g, '.')); + var inputs = this.dom.creationForm.find('input'); + // If there is an input focus on that + if (inputs.length > 0) { + $$1(inputs[0]).focus(); + } + // Otherwise focus on the confirmation button + else { + creationButton.focus(); + } + var background = $$1('div.' + this.classes.background.replace(/ /g, '.')); + var keyupFunction = function (e) { + if (e.key === 'Enter') { + creationButton.click(); + } + else if (e.key === 'Escape') { + background.click(); + } + }; + if (this.c.modalCloseButton) { + this.dom.creation.append(this.dom.closeButton); + this.dom.closeButton.on('click', function () { return background.click(); }); + } + creationButton.on('click', function () { + // Get the values of the checkBoxes + var saveState = { + colReorder: _this.dom.colReorderToggle.children('input').is(':checked'), + columns: { + search: _this.dom.columnsSearchToggle.children('input').is(':checked'), + visible: _this.dom.columnsVisibleToggle.children('input').is(':checked') + }, + length: _this.dom.lengthToggle.children('input').is(':checked'), + order: _this.dom.orderToggle.children('input').is(':checked'), + paging: _this.dom.pagingToggle.children('input').is(':checked'), + scroller: _this.dom.scrollerToggle.children('input').is(':checked'), + search: _this.dom.searchToggle.children('input').is(':checked'), + searchBuilder: _this.dom.searchBuilderToggle.children('input').is(':checked'), + searchPanes: _this.dom.searchPanesToggle.children('input').is(':checked'), + select: _this.dom.selectToggle.children('input').is(':checked') + }; + // Call the buttons functionality passing in the identifier and what should be saved + var success = buttonAction($$1('input.' + _this.classes.nameInput.replace(/ /g, '.')).val(), { saveState: saveState }); + if (success === true) { + // Remove the dom elements as operation has completed + _this.dom.background.remove(); + _this.dom.creation.remove(); + // Unbind the keyup function - don't want it to run unnecessarily on every keypress that occurs + $$1(document).unbind('keyup', keyupFunction); + } + else { + _this.dom.creation.children('.' + _this.classes.modalError).remove(); + _this.dom.creation.append(_this.dom[success + 'Error']); + } + }); + background.one('click', function () { + // Remove the dome elements as operation has been cancelled + _this.dom.background.remove(); + _this.dom.creation.remove(); + // Unbind the keyup function - don't want it to run unnecessarily on every keypress that occurs + $$1(document).unbind('keyup', keyupFunction); + // Rebuild the collection to ensure that the latest changes are present + _this._collectionRebuild(); + }); + // Have to listen to the keyup event as `escape` doesn't trigger keypress + $$1(document).on('keyup', keyupFunction); + // Need to save the state before the focus is lost when the modal is interacted with + this.s.dt.state.save(); + }; + /** + * This callback is called when a state is removed. + * This removes the state from storage and also strips it's button from the container + * + * @param identifier The value that is used to identify a state + */ + StateRestoreCollection.prototype._removeCallback = function (identifier) { + for (var i = 0; i < this.s.states.length; i++) { + if (this.s.states[i].s.identifier === identifier) { + this.s.states.splice(i, 1); + i--; + } + } + this._collectionRebuild(); + return true; + }; + /** + * Creates a new confirmation modal for the user to approve an action + * + * @param title The title that is to be displayed at the top of the modal + * @param buttonText The text that is to be displayed in the confirmation button of the modal + * @param buttonAction The action that should be taken when the confirmation button is pressed + * @param modalContents The contents for the main body of the modal + */ + StateRestoreCollection.prototype._newModal = function (title, buttonText, buttonAction, modalContents) { + var _this = this; + this.dom.background.appendTo(this.dom.dtContainer); + this.dom.confirmationTitleRow.empty().append(title); + var confirmationButton = $$1('<button class="' + this.classes.confirmationButton + ' ' + this.classes.dtButton + '">' + + buttonText + + '</button>'); + this.dom.confirmation + .empty() + .append(this.dom.confirmationTitleRow) + .append(modalContents) + .append($$1('<div class="' + this.classes.confirmationButtons + '"></div>') + .append(confirmationButton)) + .appendTo(this.dom.dtContainer); + $$1(this.s.dt.table().node()).trigger('dtsr-modal-inserted'); + var inputs = modalContents.children('input'); + // If there is an input focus on that + if (inputs.length > 0) { + $$1(inputs[0]).focus(); + } + // Otherwise focus on the confirmation button + else { + confirmationButton.focus(); + } + var background = $$1('div.' + this.classes.background.replace(/ /g, '.')); + var keyupFunction = function (e) { + // If enter same action as pressing the button + if (e.key === 'Enter') { + confirmationButton.click(); + } + // If escape close modal + else if (e.key === 'Escape') { + background.click(); + } + }; + // When the button is clicked, call the appropriate action, + // remove the background and modal from the screen and unbind the keyup event. + confirmationButton.on('click', function () { + var success = buttonAction(true); + if (success === true) { + _this.dom.background.remove(); + _this.dom.confirmation.remove(); + $$1(document).unbind('keyup', keyupFunction); + confirmationButton.off('click'); + } + else { + _this.dom.confirmation.children('.' + _this.classes.modalError).remove(); + _this.dom.confirmation.append(_this.dom[success + 'Error']); + } + }); + this.dom.confirmation.on('click', function (e) { + e.stopPropagation(); + }); + // When the button is clicked, remove the background and modal from the screen and unbind the keyup event. + background.one('click', function () { + _this.dom.background.remove(); + _this.dom.confirmation.remove(); + $$1(document).unbind('keyup', keyupFunction); + }); + $$1(document).on('keyup', keyupFunction); + }; + /** + * Private method that checks for previously created states on initialisation + */ + StateRestoreCollection.prototype._searchForStates = function () { + var _this = this; + var keys = Object.keys(localStorage); + var _loop_3 = function (key) { + // eslint-disable-next-line no-useless-escape + if (key.match(new RegExp('^DataTables_stateRestore_.*_' + location.pathname.replace(/\//g, '/') + '$')) || + key.match(new RegExp('^DataTables_stateRestore_.*_' + location.pathname.replace(/\//g, '/') + + '_' + this_2.s.dt.table().node().id + '$'))) { + var loadedState_1 = JSON.parse(localStorage.getItem(key)); + if (loadedState_1.stateRestore.isPreDefined || + (loadedState_1.stateRestore.tableId && + loadedState_1.stateRestore.tableId !== this_2.s.dt.table().node().id)) { + return "continue"; + } + var that_1 = this_2; + var successCallback = function () { + this.s.savedState = loadedState_1; + that_1.s.states.push(this); + that_1._collectionRebuild(); + }; + var newState_1 = new StateRestore(this_2.s.dt, $$1.extend(true, {}, this_2.c, { saveState: loadedState_1.c.saveState }), loadedState_1.stateRestore.state, loadedState_1, false, successCallback); + $$1(this_2.s.dt.table().node()).on('dtsr-modal-inserted', function () { + newState_1.dom.confirmation.one('dtsr-remove', function () { return _this._removeCallback(newState_1.s.identifier); }); + newState_1.dom.confirmation.one('dtsr-rename', function () { return _this._collectionRebuild(); }); + newState_1.dom.confirmation.one('dtsr-save', function () { return _this._collectionRebuild(); }); + }); + } + }; + var this_2 = this; + for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) { + var key = keys_1[_i]; + _loop_3(key); + } + }; + StateRestoreCollection.version = '1.0.0'; + StateRestoreCollection.classes = { + background: 'dtsr-background', + checkBox: 'dtsr-check-box', + checkLabel: 'dtsr-check-label', + checkRow: 'dtsr-check-row', + closeButton: 'dtsr-popover-close', + colReorderToggle: 'dtsr-colReorder-toggle', + columnsSearchToggle: 'dtsr-columns-search-toggle', + columnsVisibleToggle: 'dtsr-columns-visible-toggle', + confirmation: 'dtsr-confirmation', + confirmationButton: 'dtsr-confirmation-button', + confirmationButtons: 'dtsr-confirmation-buttons', + confirmationMessage: 'dtsr-confirmation-message dtsr-name-label', + confirmationText: 'dtsr-confirmation-text', + confirmationTitle: 'dtsr-confirmation-title', + confirmationTitleRow: 'dtsr-confirmation-title-row', + creation: 'dtsr-creation', + creationButton: 'dtsr-creation-button', + creationForm: 'dtsr-creation-form', + creationText: 'dtsr-creation-text', + creationTitle: 'dtsr-creation-title', + dtButton: 'dt-button', + emptyStates: 'dtsr-emptyStates', + formRow: 'dtsr-form-row', + leftSide: 'dtsr-left', + lengthToggle: 'dtsr-length-toggle', + modalError: 'dtsr-modal-error', + modalFoot: 'dtsr-modal-foot', + nameInput: 'dtsr-name-input', + nameLabel: 'dtsr-name-label', + orderToggle: 'dtsr-order-toggle', + pagingToggle: 'dtsr-paging-toggle', + rightSide: 'dtsr-right', + scrollerToggle: 'dtsr-scroller-toggle', + searchBuilderToggle: 'dtsr-searchBuilder-toggle', + searchPanesToggle: 'dtsr-searchPanes-toggle', + searchToggle: 'dtsr-search-toggle', + selectToggle: 'dtsr-select-toggle', + toggleLabel: 'dtsr-toggle-title' + }; + StateRestoreCollection.defaults = { + _createInSaved: false, + ajax: false, + create: true, + creationModal: false, + i18n: { + creationModal: { + button: 'Create', + colReorder: 'Column Order', + columns: { + search: 'Column Search', + visible: 'Column Visibility' + }, + length: 'Page Length', + name: 'Name:', + order: 'Sorting', + paging: 'Paging', + scroller: 'Scroll Position', + search: 'Search', + searchBuilder: 'SearchBuilder', + searchPanes: 'SearchPanes', + select: 'Select', + title: 'Create New State', + toggleLabel: 'Includes:' + }, + duplicateError: 'A state with this name already exists.', + emptyError: 'Name cannot be empty.', + emptyStates: 'No saved states', + removeConfirm: 'Are you sure you want to remove %s?', + removeError: 'Failed to remove state.', + removeJoiner: ' and ', + removeSubmit: 'Remove', + removeTitle: 'Remove State', + renameButton: 'Rename', + renameLabel: 'New Name for %s:', + renameTitle: 'Rename State' + }, + modalCloseButton: true, + preDefined: {}, + remove: true, + rename: true, + save: true, + saveState: { + colReorder: true, + columns: { + search: true, + visible: true + }, + length: true, + order: true, + paging: true, + scroller: true, + search: true, + searchBuilder: true, + searchPanes: true, + select: true + }, + splitSecondaries: [ + 'updateState', + 'renameState', + 'removeState' + ], + toggle: { + colReorder: false, + columns: { + search: false, + visible: false + }, + length: false, + order: false, + paging: false, + scroller: false, + search: false, + searchBuilder: false, + searchPanes: false, + select: false + } + }; + return StateRestoreCollection; + }()); + + /*! StateRestore 1.2.2 + * © SpryMedia Ltd - datatables.net/license + */ + setJQuery$1($); + setJQuery($); + $.fn.dataTable.StateRestore = StateRestore; + $.fn.DataTable.StateRestore = StateRestore; + $.fn.dataTable.StateRestoreCollection = StateRestoreCollection; + $.fn.DataTable.StateRestoreCollection = StateRestoreCollection; + var apiRegister = DataTable.Api.register; + apiRegister('stateRestore()', function () { + return this; + }); + apiRegister('stateRestore.state()', function (identifier) { + var ctx = this.context[0]; + if (!ctx._stateRestore) { + var api = DataTable.Api(ctx); + var src = new DataTable.StateRestoreCollection(api, {}); + _stateRegen(api, src); + } + this[0] = ctx._stateRestore.getState(identifier); + return this; + }); + apiRegister('stateRestore.state.add()', function (identifier, options) { + var ctx = this.context[0]; + if (!ctx._stateRestore) { + var api = DataTable.Api(ctx); + var src = new DataTable.StateRestoreCollection(api, {}); + _stateRegen(api, src); + } + if (!ctx._stateRestore.c.create) { + return this; + } + if (ctx._stateRestore.addState) { + var states = ctx._stateRestore.s.states; + var ids = []; + for (var _i = 0, states_1 = states; _i < states_1.length; _i++) { + var intState = states_1[_i]; + ids.push(intState.s.identifier); + } + ctx._stateRestore.addState(identifier, ids, options); + return this; + } + }); + apiRegister('stateRestore.states()', function (ids) { + var ctx = this.context[0]; + if (!ctx._stateRestore) { + var api = DataTable.Api(ctx); + var src = new DataTable.StateRestoreCollection(api, {}); + _stateRegen(api, src); + } + this.length = 0; + this.push.apply(this, ctx._stateRestore.getStates(ids)); + return this; + }); + apiRegister('stateRestore.state().save()', function () { + var ctx = this[0]; + // Check if saving states is allowed + if (ctx.c.save) { + ctx.save(); + } + return this; + }); + apiRegister('stateRestore.state().rename()', function (newIdentifier) { + var ctx = this.context[0]; + var state = this[0]; + // Check if renaming states is allowed + if (state.c.save) { + var states = ctx._stateRestore.s.states; + var ids = []; + for (var _i = 0, states_2 = states; _i < states_2.length; _i++) { + var intState = states_2[_i]; + ids.push(intState.s.identifier); + } + state.rename(newIdentifier, ids); + } + return this; + }); + apiRegister('stateRestore.state().load()', function () { + var ctx = this[0]; + ctx.load(); + return this; + }); + apiRegister('stateRestore.state().remove()', function (skipModal) { + var ctx = this[0]; + // Check if removal of states is allowed + if (ctx.c.remove) { + ctx.remove(skipModal); + } + return this; + }); + apiRegister('stateRestore.states().remove()', function (skipModal) { + var _this = this; + var removeAllCallBack = function (skipModalIn) { + var success = true; + var that = _this.toArray(); + while (that.length > 0) { + var set = that[0]; + if (set !== undefined && set.c.remove) { + var tempSuccess = set.remove(skipModalIn); + if (tempSuccess !== true) { + success = tempSuccess; + } + else { + that.splice(0, 1); + } + } + else { + break; + } + } + return success; + }; + if (this.context[0]._stateRestore && this.context[0]._stateRestore.c.remove) { + if (skipModal) { + removeAllCallBack(skipModal); + } + else { + this.context[0]._stateRestore.removeAll(removeAllCallBack); + } + } + return this; + }); + apiRegister('stateRestore.activeStates()', function () { + var ctx = this.context[0]; + this.length = 0; + if (!ctx._stateRestore) { + var api = DataTable.Api(ctx); + var src = new DataTable.StateRestoreCollection(api, {}); + _stateRegen(api, src); + } + if (ctx._stateRestore) { + this.push.apply(this, ctx._stateRestore.findActive()); + } + return this; + }); + DataTable.ext.buttons.stateRestore = { + action: function (e, dt, node, config) { + config._stateRestore.load(); + node.blur(); + }, + config: { + split: ['updateState', 'renameState', 'removeState'] + }, + text: function (dt) { + return dt.i18n('buttons.stateRestore', 'State %d', dt.stateRestore.states()[0].length + 1); + } + }; + DataTable.ext.buttons.updateState = { + action: function (e, dt, node, config) { + $('div.dt-button-background').click(); + config.parent._stateRestore.save(); + }, + text: function (dt) { + return dt.i18n('buttons.updateState', 'Update'); + } + }; + DataTable.ext.buttons.savedStates = { + buttons: [], + extend: 'collection', + init: function (dt, node, config) { + dt.on('stateRestore-change', function () { + dt.button(node).text(dt.i18n('buttons.savedStates', 'Saved States', dt.stateRestore.states().length)); + }); + if (dt.settings()[0]._stateRestore === undefined) { + _buttonInit(dt, config); + } + }, + name: 'SaveStateRestore', + text: function (dt) { + return dt.i18n('buttons.savedStates', 'Saved States', 0); + } + }; + DataTable.ext.buttons.savedStatesCreate = { + buttons: [], + extend: 'collection', + init: function (dt, node, config) { + dt.on('stateRestore-change', function () { + dt.button(node).text(dt.i18n('buttons.savedStates', 'Saved States', dt.stateRestore.states().length)); + }); + if (dt.settings()[0]._stateRestore === undefined) { + if (config.config === undefined) { + config.config = {}; + } + config.config._createInSaved = true; + _buttonInit(dt, config); + } + }, + name: 'SaveStateRestore', + text: function (dt) { + return dt.i18n('buttons.savedStates', 'Saved States', 0); + } + }; + DataTable.ext.buttons.createState = { + action: function (e, dt, node, config) { + e.stopPropagation(); + var stateRestoreOpts = dt.settings()[0]._stateRestore.c; + var language = dt.settings()[0].oLanguage; + // If creation/saving is not allowed then return + if (!stateRestoreOpts.create || !stateRestoreOpts.save) { + return; + } + var prevStates = dt.stateRestore.states().toArray(); + // Create a replacement regex based on the i18n values + var defaultString = language.buttons !== undefined && language.buttons.stateRestore !== undefined ? + language.buttons.stateRestore : + 'State '; + var replaceRegex; + if (defaultString.indexOf('%d') === defaultString.length - 3) { + replaceRegex = new RegExp(defaultString.replace(/%d/g, '')); + } + else { + var splitString = defaultString.split('%d'); + replaceRegex = []; + for (var _i = 0, splitString_1 = splitString; _i < splitString_1.length; _i++) { + var split = splitString_1[_i]; + replaceRegex.push(new RegExp(split)); + } + } + var getId = function (identifier) { + var id; + if (Array.isArray(replaceRegex)) { + id = identifier; + for (var _i = 0, replaceRegex_1 = replaceRegex; _i < replaceRegex_1.length; _i++) { + var reg = replaceRegex_1[_i]; + id = id.replace(reg, ''); + } + } + else { + id = identifier.replace(replaceRegex, ''); + } + // If the id after replacement is not a number, or the length is the same as before, + // it has been customised so return 0 + if (isNaN(+id) || id.length === identifier) { + return 0; + } + // Otherwise return the number that has been assigned previously + else { + return +id; + } + }; + // Extract the numbers from the identifiers that use the standard naming convention + var identifiers = prevStates + .map(function (state) { return getId(state.s.identifier); }) + .sort(function (a, b) { return +a < +b ? + 1 : + +a > +b ? + -1 : + 0; }); + var lastNumber = identifiers[0]; + dt.stateRestore.state.add(dt.i18n('buttons.stateRestore', 'State %d', lastNumber !== undefined ? lastNumber + 1 : 1), config.config); + var states = dt.stateRestore.states().sort(function (a, b) { + var aId = +getId(a.s.identifier); + var bId = +getId(b.s.identifier); + return aId > bId ? + 1 : + aId < bId ? + -1 : + 0; + }); + var button = dt.button('SaveStateRestore:name'); + var stateButtons = button[0] !== undefined && button[0].inst.c.buttons[0].buttons !== undefined ? + button[0].inst.c.buttons[0].buttons : + []; + // remove any states from the previous rebuild - if they are still there they will be added later + for (var i = 0; i < stateButtons.length; i++) { + if (stateButtons[i].extend === 'stateRestore') { + stateButtons.splice(i, 1); + i--; + } + } + if (stateRestoreOpts._createInSaved) { + stateButtons.push('createState'); + stateButtons.push(''); + } + for (var _a = 0, states_3 = states; _a < states_3.length; _a++) { + var state = states_3[_a]; + var split = Object.assign([], stateRestoreOpts.splitSecondaries); + if (split.includes('updateState') && !stateRestoreOpts.save) { + split.splice(split.indexOf('updateState'), 1); + } + if (split.includes('renameState') && + (!stateRestoreOpts.save || !stateRestoreOpts.rename)) { + split.splice(split.indexOf('renameState'), 1); + } + if (split.includes('removeState') && !stateRestoreOpts.remove) { + split.splice(split.indexOf('removeState'), 1); + } + if (split.length > 0 && + !split.includes('<h3>' + state.s.identifier + '</h3>')) { + split.unshift('<h3>' + state.s.identifier + '</h3>'); + } + stateButtons.push({ + _stateRestore: state, + attr: { + title: state.s.identifier + }, + config: { + split: split + }, + extend: 'stateRestore', + text: state.s.identifier + }); + } + dt.button('SaveStateRestore:name').collectionRebuild(stateButtons); + node.blur(); + // Need to disable the removeAllStates button if there are no states and it is present + var buttons = dt.buttons(); + for (var _b = 0, buttons_1 = buttons; _b < buttons_1.length; _b++) { + var butt = buttons_1[_b]; + if ($(butt.node).hasClass('dtsr-removeAllStates')) { + if (states.length === 0) { + dt.button(butt.node).disable(); + } + else { + dt.button(butt.node).enable(); + } + } + } + }, + init: function (dt, node, config) { + if (dt.settings()[0]._stateRestore === undefined && dt.button('SaveStateRestore:name').length > 1) { + _buttonInit(dt, config); + } + }, + text: function (dt) { + return dt.i18n('buttons.createState', 'Create State'); + } + }; + DataTable.ext.buttons.removeState = { + action: function (e, dt, node, config) { + config.parent._stateRestore.remove(); + node.blur(); + }, + text: function (dt) { + return dt.i18n('buttons.removeState', 'Remove'); + } + }; + DataTable.ext.buttons.removeAllStates = { + action: function (e, dt, node) { + dt.stateRestore.states().remove(true); + node.blur(); + }, + className: 'dt-button dtsr-removeAllStates', + init: function (dt, node) { + if (!dt.settings()[0]._stateRestore || dt.stateRestore.states().length === 0) { + $(node).addClass('disabled'); + } + }, + text: function (dt) { + return dt.i18n('buttons.removeAllStates', 'Remove All States'); + } + }; + DataTable.ext.buttons.renameState = { + action: function (e, dt, node, config) { + var states = dt.settings()[0]._stateRestore.s.states; + var ids = []; + for (var _i = 0, states_4 = states; _i < states_4.length; _i++) { + var state = states_4[_i]; + ids.push(state.s.identifier); + } + config.parent._stateRestore.rename(undefined, ids); + node.blur(); + }, + text: function (dt) { + return dt.i18n('buttons.renameState', 'Rename'); + } + }; + function _init(settings, options) { + if (options === void 0) { options = null; } + var api = new DataTable.Api(settings); + var opts = options + ? options + : api.init().stateRestore || DataTable.defaults.stateRestore; + var stateRestore = new StateRestoreCollection(api, opts); + _stateRegen(api, stateRestore); + return stateRestore; + } + /** + * Initialisation function if initialising using a button + * + * @param dt The datatables instance + * @param config the config for the button + */ + function _buttonInit(dt, config) { + var SRC = new DataTable.StateRestoreCollection(dt, config.config); + _stateRegen(dt, SRC); + } + function _stateRegen(dt, src) { + var states = dt.stateRestore.states(); + var button = dt.button('SaveStateRestore:name'); + var stateButtons = []; + // Need to get the original configuration object, so we can rebuild it + // It might be nested, so need to traverse down the tree + if (button[0]) { + var idxs = button.index().split('-'); + stateButtons = button[0].inst.c.buttons; + for (var i = 0; i < idxs.length; i++) { + if (stateButtons[idxs[i]].buttons) { + stateButtons = stateButtons[idxs[i]].buttons; + } + else { + stateButtons = []; + break; + } + } + } + var stateRestoreOpts = dt.settings()[0]._stateRestore.c; + // remove any states from the previous rebuild - if they are still there they will be added later + for (var i = 0; i < stateButtons.length; i++) { + if (stateButtons[i].extend === 'stateRestore') { + stateButtons.splice(i, 1); + i--; + } + } + if (stateRestoreOpts._createInSaved) { + stateButtons.push('createState'); + } + if (states === undefined || states.length === 0) { + stateButtons.push('<span class="' + src.classes.emptyStates + '">' + + dt.i18n('stateRestore.emptyStates', src.c.i18n.emptyStates) + + '</span>'); + } + else { + for (var _i = 0, states_5 = states; _i < states_5.length; _i++) { + var state = states_5[_i]; + var split = Object.assign([], stateRestoreOpts.splitSecondaries); + if (split.includes('updateState') && !stateRestoreOpts.save) { + split.splice(split.indexOf('updateState'), 1); + } + if (split.includes('renameState') && + (!stateRestoreOpts.save || !stateRestoreOpts.rename)) { + split.splice(split.indexOf('renameState'), 1); + } + if (split.includes('removeState') && !stateRestoreOpts.remove) { + split.splice(split.indexOf('removeState'), 1); + } + if (split.length > 0 && + !split.includes('<h3>' + state.s.identifier + '</h3>')) { + split.unshift('<h3>' + state.s.identifier + '</h3>'); + } + stateButtons.push({ + _stateRestore: state, + attr: { + title: state.s.identifier + }, + config: { + split: split + }, + extend: 'stateRestore', + text: state.s.identifier + }); + } + } + dt.button('SaveStateRestore:name').collectionRebuild(stateButtons); + // Need to disable the removeAllStates button if there are no states and it is present + var buttons = dt.buttons(); + for (var _a = 0, buttons_2 = buttons; _a < buttons_2.length; _a++) { + var butt = buttons_2[_a]; + if ($(butt.node).hasClass('dtsr-removeAllStates')) { + if (states.length === 0) { + dt.button(butt.node).disable(); + } + else { + dt.button(butt.node).enable(); + } + } + } + } + // Attach a listener to the document which listens for DataTables initialisation + // events so we can automatically initialise + $(document).on('preInit.dt.dtsr', function (e, settings) { + if (e.namespace !== 'dt') { + return; + } + if (settings.oInit.stateRestore || + DataTable.defaults.stateRestore) { + if (!settings._stateRestore) { + _init(settings, null); + } + } + }); + +})(); + + +return DataTable; +})); diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/dataTables.stateRestore.min.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/dataTables.stateRestore.min.js new file mode 100644 index 0000000..93ed4e6 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/dataTables.stateRestore.min.js @@ -0,0 +1,4 @@ +/*! StateRestore 1.2.2 + * © SpryMedia Ltd - datatables.net/license + */ +!function(s){var o,a;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(e){return s(e,window,document)}):"object"==typeof exports?(o=require("jquery"),a=function(e,t){t.fn.dataTable||require("datatables.net")(e,t)},"undefined"!=typeof window?module.exports=function(e,t){return e=e||window,t=t||o(e),a(e,t),s(t,0,e.document)}:(a(window,o),module.exports=s(o,window,window.document))):s(jQuery,window,document)}(function(R,e,g,k){"use strict";var u,m,f,i,p,s,t,c=R.fn.dataTable;function n(e,t,s,o,a,i){if(void 0===o&&(o=k),void 0===a&&(a=!1),void 0===i&&(i=function(){return null}),!m||!m.versionCheck||!m.versionCheck("1.10.0"))throw new Error("StateRestore requires DataTables 1.10 or newer");if(!m.Buttons)throw new Error("StateRestore requires Buttons");e=new m.Api(e);this.classes=u.extend(!0,{},n.classes),this.c=u.extend(!0,{},n.defaults,t),this.s={dt:e,identifier:s,isPreDefined:a,savedState:null,tableId:o&&o.stateRestore?o.stateRestore.tableId:k},this.dom={background:u('<div class="'+this.classes.background+'"/>'),closeButton:u('<div class="'+this.classes.closeButton+'">x</div>'),confirmation:u('<div class="'+this.classes.confirmation+'"/>'),confirmationButton:u('<button class="'+this.classes.confirmationButton+" "+this.classes.dtButton+'">'),confirmationTitleRow:u('<div class="'+this.classes.confirmationTitleRow+'"></div>'),dtContainer:u(this.s.dt.table().container()),duplicateError:u('<span class="'+this.classes.modalError+'">'+this.s.dt.i18n("stateRestore.duplicateError",this.c.i18n.duplicateError)+"</span>"),emptyError:u('<span class="'+this.classes.modalError+'">'+this.s.dt.i18n("stateRestore.emptyError",this.c.i18n.emptyError)+"</span>"),removeContents:u('<div class="'+this.classes.confirmationText+'"><span>'+this.s.dt.i18n("stateRestore.removeConfirm",this.c.i18n.removeConfirm).replace(/%s/g,this.s.identifier)+"</span></div>"),removeError:u('<span class="'+this.classes.modalError+'">'+this.s.dt.i18n("stateRestore.removeError",this.c.i18n.removeError)+"</span>"),removeTitle:u('<h2 class="'+this.classes.confirmationTitle+'">'+this.s.dt.i18n("stateRestore.removeTitle",this.c.i18n.removeTitle)+"</h2>"),renameContents:u('<div class="'+this.classes.confirmationText+" "+this.classes.renameModal+'"><label class="'+this.classes.confirmationMessage+'">'+this.s.dt.i18n("stateRestore.renameLabel",this.c.i18n.renameLabel).replace(/%s/g,this.s.identifier)+"</label></div>"),renameInput:u('<input class="'+this.classes.input+'" type="text"></input>'),renameTitle:u('<h2 class="'+this.classes.confirmationTitle+'">'+this.s.dt.i18n("stateRestore.renameTitle",this.c.i18n.renameTitle)+"</h2>")},this.save(o,i)}function r(e,t){var o=this;if(!i||!i.versionCheck||!i.versionCheck("1.10.0"))throw new Error("StateRestore requires DataTables 1.10 or newer");if(!i.Buttons)throw new Error("StateRestore requires Buttons");var s,a,e=new i.Api(e);if(this.classes=f.extend(!0,{},r.classes),e.settings()[0]._stateRestore===k)return this.c=f.extend(!0,{},r.defaults,t),this.s={dt:e,hasColReorder:i.ColReorder!==k,hasScroller:i.Scroller!==k,hasSearchBuilder:i.SearchBuilder!==k,hasSearchPanes:i.SearchPanes!==k,hasSelect:i.select!==k,states:[]},this.s.dt.on("xhr",function(e,t,s){s&&s.stateRestore&&o._addPreDefined(s.stateRestore)}),this.dom={background:f('<div class="'+this.classes.background+'"/>'),closeButton:f('<div class="'+this.classes.closeButton+'">x</div>'),colReorderToggle:f('<div class="'+this.classes.formRow+" "+this.classes.checkRow+'"><input type="checkbox" class="'+this.classes.colReorderToggle+" "+this.classes.checkBox+'" checked><label class="'+this.classes.checkLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.colReorder",this.c.i18n.creationModal.colReorder)+"</label></div>"),columnsSearchToggle:f('<div class="'+this.classes.formRow+" "+this.classes.checkRow+'"><input type="checkbox" class="'+this.classes.columnsSearchToggle+" "+this.classes.checkBox+'" checked><label class="'+this.classes.checkLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.columns.search",this.c.i18n.creationModal.columns.search)+"</label></div>"),columnsVisibleToggle:f('<div class="'+this.classes.formRow+" "+this.classes.checkRow+' "><input type="checkbox" class="'+this.classes.columnsVisibleToggle+" "+this.classes.checkBox+'" checked><label class="'+this.classes.checkLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.columns.visible",this.c.i18n.creationModal.columns.visible)+"</label></div>"),confirmation:f('<div class="'+this.classes.confirmation+'"/>'),confirmationTitleRow:f('<div class="'+this.classes.confirmationTitleRow+'"></div>'),createButtonRow:f('<div class="'+this.classes.formRow+" "+this.classes.modalFoot+'"><button class="'+this.classes.creationButton+" "+this.classes.dtButton+'">'+this.s.dt.i18n("stateRestore.creationModal.button",this.c.i18n.creationModal.button)+"</button></div>"),creation:f('<div class="'+this.classes.creation+'"/>'),creationForm:f('<div class="'+this.classes.creationForm+'"/>'),creationTitle:f('<div class="'+this.classes.creationText+'"><h2 class="'+this.classes.creationTitle+'">'+this.s.dt.i18n("stateRestore.creationModal.title",this.c.i18n.creationModal.title)+"</h2></div>"),dtContainer:f(this.s.dt.table().container()),duplicateError:f('<span class="'+this.classes.modalError+'">'+this.s.dt.i18n("stateRestore.duplicateError",this.c.i18n.duplicateError)+"</span>"),emptyError:f('<span class="'+this.classes.modalError+'">'+this.s.dt.i18n("stateRestore.emptyError",this.c.i18n.emptyError)+"</span>"),lengthToggle:f('<div class="'+this.classes.formRow+" "+this.classes.checkRow+'"><input type="checkbox" class="'+this.classes.lengthToggle+" "+this.classes.checkBox+'" checked><label class="'+this.classes.checkLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.length",this.c.i18n.creationModal.length)+"</label></div>"),nameInputRow:f('<div class="'+this.classes.formRow+'"><label class="'+this.classes.nameLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.name",this.c.i18n.creationModal.name)+'</label><input class="'+this.classes.nameInput+'" type="text"></div>'),orderToggle:f('<div class="'+this.classes.formRow+" "+this.classes.checkRow+'"><input type="checkbox" class="'+this.classes.orderToggle+" "+this.classes.checkBox+'" checked><label class="'+this.classes.checkLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.order",this.c.i18n.creationModal.order)+"</label></div>"),pagingToggle:f('<div class="'+this.classes.formRow+" "+this.classes.checkRow+'"><input type="checkbox" class="'+this.classes.pagingToggle+" "+this.classes.checkBox+'" checked><label class="'+this.classes.checkLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.paging",this.c.i18n.creationModal.paging)+"</label></div>"),removeContents:f('<div class="'+this.classes.confirmationText+'"><span></span></div>'),removeTitle:f('<div class="'+this.classes.creationText+'"><h2 class="'+this.classes.creationTitle+'">'+this.s.dt.i18n("stateRestore.removeTitle",this.c.i18n.removeTitle)+"</h2></div>"),scrollerToggle:f('<div class="'+this.classes.formRow+" "+this.classes.checkRow+'"><input type="checkbox" class="'+this.classes.scrollerToggle+" "+this.classes.checkBox+'" checked><label class="'+this.classes.checkLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.scroller",this.c.i18n.creationModal.scroller)+"</label></div>"),searchBuilderToggle:f('<div class="'+this.classes.formRow+" "+this.classes.checkRow+'"><input type="checkbox" class="'+this.classes.searchBuilderToggle+" "+this.classes.checkBox+'" checked><label class="'+this.classes.checkLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.searchBuilder",this.c.i18n.creationModal.searchBuilder)+"</label></div>"),searchPanesToggle:f('<div class="'+this.classes.formRow+" "+this.classes.checkRow+'"><input type="checkbox" class="'+this.classes.searchPanesToggle+" "+this.classes.checkBox+'" checked><label class="'+this.classes.checkLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.searchPanes",this.c.i18n.creationModal.searchPanes)+"</label></div>"),searchToggle:f('<div class="'+this.classes.formRow+" "+this.classes.checkRow+'"><input type="checkbox" class="'+this.classes.searchToggle+" "+this.classes.checkBox+'" checked><label class="'+this.classes.checkLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.search",this.c.i18n.creationModal.search)+"</label></div>"),selectToggle:f('<div class="'+this.classes.formRow+" "+this.classes.checkRow+'"><input type="checkbox" class="'+this.classes.selectToggle+" "+this.classes.checkBox+'" checked><label class="'+this.classes.checkLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.select",this.c.i18n.creationModal.select)+"</label></div>"),toggleLabel:f('<label class="'+this.classes.nameLabel+" "+this.classes.toggleLabel+'">'+this.s.dt.i18n("stateRestore.creationModal.toggleLabel",this.c.i18n.creationModal.toggleLabel)+"</label>")},(e.settings()[0]._stateRestore=this)._searchForStates(),this._addPreDefined(this.c.preDefined),a={action:"load"},"function"==typeof this.c.ajax?s=function(){"function"==typeof o.c.ajax&&o.c.ajax.call(o.s.dt,a,function(e){return o._addPreDefined(e)})}:"string"==typeof this.c.ajax&&(s=function(){f.ajax({data:a,success:function(e){o._addPreDefined(e)},type:"POST",url:o.c.ajax})}),"function"==typeof s&&(this.s.dt.settings()[0]._bInitComplete?s():this.s.dt.one("preInit.dtsr",function(){s()})),this.s.dt.on("destroy.dtsr",function(){o.destroy()}),this.s.dt.on("draw.dtsr buttons-action.dtsr",function(){return o.findActive()}),this}function o(e,t){l(e,new c.StateRestoreCollection(e,t.config))}function l(e,t){var s=e.stateRestore.states(),o=e.button("SaveStateRestore:name"),a=[];if(o[0])for(var i=o.index().split("-"),a=o[0].inst.c.buttons,n=0;n<i.length;n++){if(!a[i[n]].buttons){a=[];break}a=a[i[n]].buttons}for(var r=e.settings()[0]._stateRestore.c,n=0;n<a.length;n++)"stateRestore"===a[n].extend&&(a.splice(n,1),n--);if(r._createInSaved&&a.push("createState"),s===k||0===s.length)a.push('<span class="'+t.classes.emptyStates+'">'+e.i18n("stateRestore.emptyStates",t.c.i18n.emptyStates)+"</span>");else for(var c=0,l=s;c<l.length;c++){var d=l[c],h=Object.assign([],r.splitSecondaries);h.includes("updateState")&&!r.save&&h.splice(h.indexOf("updateState"),1),!h.includes("renameState")||r.save&&r.rename||h.splice(h.indexOf("renameState"),1),h.includes("removeState")&&!r.remove&&h.splice(h.indexOf("removeState"),1),0<h.length&&!h.includes("<h3>"+d.s.identifier+"</h3>")&&h.unshift("<h3>"+d.s.identifier+"</h3>"),a.push({_stateRestore:d,attr:{title:d.s.identifier},config:{split:h},extend:"stateRestore",text:d.s.identifier})}e.button("SaveStateRestore:name").collectionRebuild(a);for(var u=0,m=e.buttons();u<m.length;u++){var g=m[u];R(g.node).hasClass("dtsr-removeAllStates")&&(0===s.length?e.button(g.node).disable():e.button(g.node).enable())}}return n.prototype.remove=function(e){var t,s,o,a,i=this;return void 0===e&&(e=!1),!!this.c.remove&&(o={action:"remove",stateRestore:((t={})[this.s.identifier]=this.s.savedState,t)},a=function(){i.dom.confirmation.trigger("dtsr-remove"),u(i.s.dt.table().node()).trigger("stateRestore-change"),i.dom.background.click(),i.dom.confirmation.remove(),u(g).unbind("keyup",function(e){return i._keyupFunction(e)}),i.dom.confirmationButton.off("click")},this.c.ajax?"string"==typeof this.c.ajax&&this.s.dt.settings()[0]._bInitComplete?s=function(){return u.ajax({data:o,success:a,type:"POST",url:i.c.ajax}),!0}:"function"==typeof this.c.ajax&&(s=function(){return"function"==typeof i.c.ajax&&i.c.ajax.call(i.s.dt,o,a),!0}):s=function(){try{localStorage.removeItem("DataTables_stateRestore_"+i.s.identifier+"_"+location.pathname+(i.s.tableId?"_"+i.s.tableId:"")),a()}catch(e){return i.dom.confirmation.children("."+i.classes.modalError).remove(),i.dom.confirmation.append(i.dom.removeError),"remove"}return!0},e?(this.dom.confirmation.appendTo(this.dom.dtContainer),u(this.s.dt.table().node()).trigger("dtsr-modal-inserted"),s(),this.dom.confirmation.remove()):this._newModal(this.dom.removeTitle,this.s.dt.i18n("stateRestore.removeSubmit",this.c.i18n.removeSubmit),s,this.dom.removeContents),!0)},n.prototype.compare=function(e){if(this.c.saveState.order||(e.order=k),this.c.saveState.search||(e.search=k),this.c.saveState.columns&&e.columns)for(var t=0,s=e.columns.length;t<s;t++)"boolean"==typeof this.c.saveState.columns||this.c.saveState.columns.visible||(e.columns[t].visible=k),"boolean"==typeof this.c.saveState.columns||this.c.saveState.columns.search||(e.columns[t].search=k);else this.c.saveState.columns||(e.columns=k);this.c.saveState.paging||(e.page=k),this.c.saveState.searchBuilder||(e.searchBuilder=k),this.c.saveState.searchPanes||(e.searchPanes=k),this.c.saveState.select||(e.select=k),this.c.saveState.colReorder||(e.ColReorder=k),this.c.saveState.scroller||(e.scroller=k,m.Scroller!==k&&(e.start=0)),this.c.saveState.paging||(e.start=0),this.c.saveState.length||(e.length=k),delete e.time;var o=this.s.savedState;return delete o.time,delete o.c,delete o.stateRestore,this._deepCompare(e,o)},n.prototype.destroy=function(){Object.values(this.dom).forEach(function(e){return e.off().remove()})},n.prototype.load=function(){var o=this,a=this.s.savedState,e=this.s.dt.settings()[0];return a.time=+new Date,e.oLoadedState=u.extend(!0,{},a),u("div.dt-button-background").click(),u.fn.dataTable.ext.oApi._fnImplementState(e,a,function(){o.s.dt.one("preDraw",function(e,s){setTimeout(function(){var e=s._iDisplayStart/s._iDisplayLength,t=a.start/a.length;0<=e&&0<=t&&e!=t&&o.s.dt.page(t).draw(!1)},50)}),o.s.dt.draw(!1)}),a},n.prototype.rename=function(s,o){var a=this;if(void 0===s&&(s=null),this.c.rename){var e=function(){if(null===s){var e=u("input."+a.classes.input.replace(/ /g,".")).val();if(0===e.length)return a.dom.confirmation.children("."+a.classes.modalError).remove(),a.dom.confirmation.append(a.dom.emptyError),"empty";if(o.includes(e))return a.dom.confirmation.children("."+a.classes.modalError).remove(),a.dom.confirmation.append(a.dom.duplicateError),"duplicate";s=e}function t(){a.s.identifier=s,a.save(a.s.savedState,function(){return null},!1),a.dom.removeContents=u('<div class="'+a.classes.confirmationText+'"><span>'+a.s.dt.i18n("stateRestore.removeConfirm",a.c.i18n.removeConfirm).replace(/%s/g,a.s.identifier)+"</span></div>"),a.dom.confirmation.trigger("dtsr-rename"),a.dom.background.click(),a.dom.confirmation.remove(),u(g).unbind("keyup",function(e){return a._keyupFunction(e)}),a.dom.confirmationButton.off("click")}e={action:"rename",stateRestore:((e={})[a.s.identifier]=s,e)};if(a.c.ajax)"string"==typeof a.c.ajax&&a.s.dt.settings()[0]._bInitComplete?u.ajax({data:e,success:t,type:"POST",url:a.c.ajax}):"function"==typeof a.c.ajax&&a.c.ajax.call(a.s.dt,e,t);else try{localStorage.removeItem("DataTables_stateRestore_"+a.s.identifier+"_"+location.pathname+(a.s.tableId?"_"+a.s.tableId:"")),t()}catch(e){return a.dom.confirmation.children("."+a.classes.modalError).remove(),a.dom.confirmation.append(a.dom.removeError),!1}return!0};if(null!==s){if(o.includes(s))throw new Error(this.s.dt.i18n("stateRestore.duplicateError",this.c.i18n.duplicateError));if(0===s.length)throw new Error(this.s.dt.i18n("stateRestore.emptyError",this.c.i18n.emptyError));this.dom.confirmation.appendTo(this.dom.dtContainer),u(this.s.dt.table().node()).trigger("dtsr-modal-inserted"),e(),this.dom.confirmation.remove()}else this.dom.renameInput.val(this.s.identifier),this.dom.renameContents.append(this.dom.renameInput),this._newModal(this.dom.renameTitle,this.s.dt.i18n("stateRestore.renameButton",this.c.i18n.renameButton),e,this.dom.renameContents)}},n.prototype.save=function(e,t,s){var o,a,i,n=this;if(void 0===s&&(s=!0),this.c.save){if(this.s.dt.state.save(),e===k)o=this.s.dt.state();else{if("object"!=typeof e)return;o=e}if(o.stateRestore?(o.stateRestore.isPreDefined=this.s.isPreDefined,o.stateRestore.state=this.s.identifier,o.stateRestore.tableId=this.s.tableId):o.stateRestore={isPreDefined:this.s.isPreDefined,state:this.s.identifier,tableId:this.s.tableId},this.s.savedState=o,this.c.saveState.order||(this.s.savedState.order=k),this.c.saveState.search||(this.s.savedState.search=k),this.c.saveState.columns&&this.s.savedState.columns)for(var r=0,c=this.s.savedState.columns.length;r<c;r++)"boolean"==typeof this.c.saveState.columns||this.c.saveState.columns.visible||(this.s.savedState.columns[r].visible=k),"boolean"==typeof this.c.saveState.columns||this.c.saveState.columns.search||(this.s.savedState.columns[r].search=k);else this.c.saveState.columns||(this.s.savedState.columns=k);if(this.c.saveState.searchBuilder||(this.s.savedState.searchBuilder=k),this.c.saveState.searchPanes||(this.s.savedState.searchPanes=k),this.c.saveState.select||(this.s.savedState.select=k),this.c.saveState.colReorder||(this.s.savedState.ColReorder=k),this.c.saveState.scroller||(this.s.savedState.scroller=k,m.Scroller!==k&&(this.s.savedState.start=0)),this.c.saveState.paging||(this.s.savedState.start=0),this.c.saveState.length||(this.s.savedState.length=k),this.s.savedState.c=this.c,this.s.savedState.c.splitSecondaries.length)for(var l=0,d=this.s.savedState.c.splitSecondaries;l<d.length;l++){var h=d[l];h.parent&&(h.parent=k)}this.s.isPreDefined?t&&t.call(this):(a={action:"save",stateRestore:((e={})[this.s.identifier]=this.s.savedState,e)},i=function(){t&&t.call(n),n.dom.confirmation.trigger("dtsr-save"),u(n.s.dt.table().node()).trigger("stateRestore-change")},this.c.ajax?"string"==typeof this.c.ajax&&s?this.s.dt.settings()[0]._bInitComplete?u.ajax({data:a,success:i,type:"POST",url:this.c.ajax}):this.s.dt.one("init",function(){u.ajax({data:a,success:i,type:"POST",url:n.c.ajax})}):"function"==typeof this.c.ajax&&s&&this.c.ajax.call(this.s.dt,a,i):(localStorage.setItem("DataTables_stateRestore_"+this.s.identifier+"_"+location.pathname+(this.s.tableId?"_"+this.s.tableId:""),JSON.stringify(this.s.savedState)),i()))}else t&&t.call(this)},n.prototype._deepCompare=function(e,t){var s,o=[e,t],a=[Object.keys(e).sort(),Object.keys(t).sort()];a[0].includes("scroller")&&(s=a[0].indexOf("start"))&&a[0].splice(s,1),a[1].includes("scroller")&&(s=a[1].indexOf("start"))&&a[1].splice(s,1);for(var i=0;i<a[0].length;i++)0!==a[0][i].indexOf("_")&&"baseRowTop"!==a[0][i]&&"baseScrollTop"!==a[0][i]&&"scrollTop"!==a[0][i]&&(this.c.saveState.paging||"page"!==a[0][i])||(a[0].splice(i,1),i--);for(i=0;i<a[1].length;i++)0!==a[1][i].indexOf("_")&&"baseRowTop"!==a[1][i]&&"baseScrollTop"!==a[1][i]&&"scrollTop"!==a[1][i]&&(this.c.saveState.paging||"page"!==a[0][i])||(a[1].splice(i,1),i--);if(0===a[0].length&&0<a[1].length||0===a[1].length&&0<a[0].length)return!1;for(i=0;i<a[0].length;i++)a[1].includes(a[0][i])||(a[0].splice(i,1),i--);for(i=0;i<a[1].length;i++)a[0].includes(a[1][i])||(a[1].splice(i,1),i--);for(i=0;i<a[0].length;i++){if(a[0][i]!==a[1][i]||typeof o[0][a[0][i]]!=typeof o[1][a[1][i]])return!1;if("object"==typeof o[0][a[0][i]]){if(!this._deepCompare(o[0][a[0][i]],o[1][a[1][i]]))return!1}else if("number"==typeof o[0][a[0][i]]&&"number"==typeof o[1][a[1][i]]){if(Math.round(o[0][a[0][i]])!==Math.round(o[1][a[1][i]]))return!1}else if(o[0][a[0][i]]!==o[1][a[1][i]])return!1}return!0},n.prototype._keyupFunction=function(e){"Enter"===e.key?this.dom.confirmationButton.click():"Escape"===e.key&&u("div."+this.classes.background.replace(/ /g,".")).click()},n.prototype._newModal=function(e,t,s,o){var a=this,e=(this.dom.background.appendTo(this.dom.dtContainer),this.dom.confirmationTitleRow.empty().append(e),this.dom.confirmationButton.html(t),this.dom.confirmation.empty().append(this.dom.confirmationTitleRow).append(o).append(u('<div class="'+this.classes.confirmationButtons+'"></div>').append(this.dom.confirmationButton)).appendTo(this.dom.dtContainer),u(this.s.dt.table().node()).trigger("dtsr-modal-inserted"),o.children("input")),i=((0<e.length?u(e[0]):this.dom.confirmationButton).focus(),u("div."+this.classes.background.replace(/ /g,".")));this.c.modalCloseButton&&(this.dom.confirmation.append(this.dom.closeButton),this.dom.closeButton.on("click",function(){return i.click()})),this.dom.confirmationButton.on("click",function(){return s()}),this.dom.confirmation.on("click",function(e){e.stopPropagation()}),i.one("click",function(){a.dom.background.remove(),a.dom.confirmation.remove(),u(g).unbind("keyup",function(e){return a._keyupFunction(e)})}),u(g).on("keyup",function(e){return a._keyupFunction(e)})},n.prototype._searchToHung=function(e){return{bCaseInsensitive:e.caseInsensitive,bRegex:e.regex,bSmart:e.smart,sSearch:e.search}},n.version="1.2.2",n.classes={background:"dtsr-background",closeButton:"dtsr-popover-close",confirmation:"dtsr-confirmation",confirmationButton:"dtsr-confirmation-button",confirmationButtons:"dtsr-confirmation-buttons",confirmationMessage:"dtsr-confirmation-message dtsr-name-label",confirmationText:"dtsr-confirmation-text",confirmationTitle:"dtsr-confirmation-title",confirmationTitleRow:"dtsr-confirmation-title-row",dtButton:"dt-button",input:"dtsr-input",modalError:"dtsr-modal-error",renameModal:"dtsr-rename-modal"},n.defaults={_createInSaved:!1,ajax:!1,create:!0,creationModal:!1,i18n:{creationModal:{button:"Create",colReorder:"Column Order:",columns:{search:"Column Search:",visible:"Column Visibility:"},length:"Page Length:",name:"Name:",order:"Sorting:",paging:"Paging:",scroller:"Scroll Position:",search:"Search:",searchBuilder:"SearchBuilder:",searchPanes:"SearchPanes:",select:"Select:",title:"Create New State",toggleLabel:"Includes:"},duplicateError:"A state with this name already exists.",emptyError:"Name cannot be empty.",emptyStates:"No saved states",removeConfirm:"Are you sure you want to remove %s?",removeError:"Failed to remove state.",removeJoiner:" and ",removeSubmit:"Remove",removeTitle:"Remove State",renameButton:"Rename",renameLabel:"New Name for %s:",renameTitle:"Rename State"},modalCloseButton:!0,remove:!0,rename:!0,save:!0,saveState:{colReorder:!0,columns:{search:!0,visible:!0},length:!0,order:!0,paging:!0,scroller:!0,search:!0,searchBuilder:!0,searchPanes:!0,select:!0},splitSecondaries:["updateState","renameState","removeState"],toggle:{colReorder:!1,columns:{search:!1,visible:!1},length:!1,order:!1,paging:!1,scroller:!1,search:!1,searchBuilder:!1,searchPanes:!1,select:!1}},p=n,r.prototype.addState=function(e,l,d){var h=this;if(this.c.create&&this.c.save){var t=function(e,t){if(0===e.length)return"empty";if(l.includes(e))return"duplicate";h.s.dt.state.save();var s=h,o=h.s.dt.state();if(o.stateRestore={isPredefined:!1,state:e,tableId:h.s.dt.table().node().id},t.saveState){for(var a=h.c.saveState,i=0,n=Object.keys(t.saveState);i<n.length;i++){var r=n[i];t.saveState[r]||(a[r]=!1)}h.c.saveState=a}var c=new p(h.s.dt.settings()[0],f.extend(!0,{},h.c,d),e,o,!1,function(){s.s.states.push(this),s._collectionRebuild()});return f(h.s.dt.table().node()).on("dtsr-modal-inserted",function(){c.dom.confirmation.one("dtsr-remove",function(){return h._removeCallback(c.s.identifier)}),c.dom.confirmation.one("dtsr-rename",function(){return h._collectionRebuild()}),c.dom.confirmation.one("dtsr-save",function(){return h._collectionRebuild()})}),!0};if(null!==this.getState(e))throw new Error(this.s.dt.i18n("stateRestore.duplicateError",this.c.i18n.duplicateError));if(this.c.creationModal||d!==k&&d.creationModal)this._creationModal(t,e,d);else{t=t(e,{});if("empty"===t)throw new Error(this.s.dt.i18n("stateRestore.emptyError",this.c.i18n.emptyError));if("duplicate"===t)throw new Error(this.s.dt.i18n("stateRestore.duplicateError",this.c.i18n.duplicateError))}}},r.prototype.removeAll=function(e){var t,s;0!==this.s.states.length&&(s=(t=this.s.states.map(function(e){return e.s.identifier}))[0],1<t.length&&(s=t.slice(0,-1).join(", ")+this.s.dt.i18n("stateRestore.removeJoiner",this.c.i18n.removeJoiner)+t.slice(-1)),f(this.dom.removeContents.children("span")).html(this.s.dt.i18n("stateRestore.removeConfirm",this.c.i18n.removeConfirm).replace(/%s/g,s)),this._newModal(this.dom.removeTitle,this.s.dt.i18n("stateRestore.removeSubmit",this.c.i18n.removeSubmit),e,this.dom.removeContents))},r.prototype.destroy=function(){for(var e=0,t=this.s.states;e<t.length;e++)t[e].destroy();Object.values(this.dom).forEach(function(e){e.off(),e.remove()}),this.s.states=[],this.s.dt.off(".dtsr"),f(this.s.dt.table().node()).off(".dtsr")},r.prototype.findActive=function(){this.s.dt.state.save();for(var e=this.s.dt.state(),t=f("button."+f.fn.DataTable.Buttons.defaults.dom.button.className.replace(/ /g,".")),s=0,o=t=0===t.length?f("a."+f.fn.DataTable.Buttons.defaults.dom.button.className.replace(/ /g,".")):t;s<o.length;s++){var a=o[s];this.s.dt.button(f(a).parent()[0]).active(!1)}for(var i=[],n=0,r=this.s.states;n<r.length;n++){var c=r[n];if(c.compare(e)){i.push({data:c.s.savedState,name:c.s.identifier});for(var l=0,d=t;l<d.length;l++){a=d[l];if(f(a).text()===c.s.identifier){this.s.dt.button(f(a).parent()[0]).active(!0);break}}}}return i},r.prototype.getState=function(e){for(var t=0,s=this.s.states;t<s.length;t++){var o=s[t];if(o.s.identifier===e)return o}return null},r.prototype.getStates=function(e){if(e===k)return this.s.states;for(var t=[],s=0,o=e;s<o.length;s++){for(var a=o[s],i=!1,n=0,r=this.s.states;n<r.length;n++){var c=r[n];if(a===c.s.identifier){t.push(c),i=!0;break}}i||t.push(k)}return t},r.prototype._addPreDefined=function(i){for(var n=this,e=Object.keys(i).sort(function(e,t){return t<e?1:e<t?-1:0}),r=this,t=0,s=e;t<s.length;t++)!function(e){for(var t=0;t<r.s.states.length;t++)r.s.states[t].s.identifier===e&&r.s.states.splice(t,1);var s=r,o=i[e],a=new p(r.s.dt,f.extend(!0,{},r.c,o.c!==k?{saveState:o.c.saveState}:k,!0),e,o,!0,function(){s.s.states.push(this),s._collectionRebuild()});a.s.savedState=o,f(r.s.dt.table().node()).on("dtsr-modal-inserted",function(){a.dom.confirmation.one("dtsr-remove",function(){return n._removeCallback(a.s.identifier)}),a.dom.confirmation.one("dtsr-rename",function(){return n._collectionRebuild()}),a.dom.confirmation.one("dtsr-save",function(){return n._collectionRebuild()})})}(s[t])},r.prototype._collectionRebuild=function(){var e=this.s.dt.button("SaveStateRestore:name"),t=[];if(e[0])for(var s=e.index().split("-"),t=e[0].inst.c.buttons,o=0;o<s.length;o++){if(!t[s[o]].buttons){t=[];break}t=t[s[o]].buttons}for(o=0;o<t.length;o++)"stateRestore"===t[o].extend&&(t.splice(o,1),o--);this.c._createInSaved&&t.push("createState");var a='<span class="'+this.classes.emptyStates+'">'+this.s.dt.i18n("stateRestore.emptyStates",this.c.i18n.emptyStates)+"</span>";if(0===this.s.states.length)t.includes(a)||t.push(a);else{for(;t.includes(a);)t.splice(t.indexOf(a),1);this.s.states=this.s.states.sort(function(e,t){e=e.s.identifier,t=t.s.identifier;return t<e?1:e<t?-1:0});for(var i=0,n=this.s.states;i<n.length;i++){var r=n[i],c=Object.assign([],this.c.splitSecondaries);!c.includes("updateState")||this.c.save&&r.c.save||c.splice(c.indexOf("updateState"),1),!c.includes("renameState")||this.c.save&&r.c.save&&this.c.rename&&r.c.rename||c.splice(c.indexOf("renameState"),1),!c.includes("removeState")||this.c.remove&&r.c.remove||c.splice(c.indexOf("removeState"),1),0<c.length&&!c.includes("<h3>"+r.s.identifier+"</h3>")&&c.unshift("<h3>"+r.s.identifier+"</h3>"),t.push({_stateRestore:r,attr:{title:r.s.identifier},config:{split:c},extend:"stateRestore",text:r.s.identifier})}}e.collectionRebuild(t);for(var l=0,d=this.s.dt.buttons();l<d.length;l++){var h=d[l];f(h.node).hasClass("dtsr-removeAllStates")&&(0===this.s.states.length?this.s.dt.button(h.node).disable():this.s.dt.button(h.node).enable())}},r.prototype._creationModal=function(t,e,s){var o=this,e=(this.dom.creation.empty(),this.dom.creationForm.empty(),this.dom.nameInputRow.children("input").val(e),this.dom.creationForm.append(this.dom.nameInputRow),this.s.dt.settings()[0].oInit),a=[],i=s!==k&&s.toggle!==k;((!i||s.toggle.order===k)&&this.c.toggle.order||i&&s.toggle.order)&&this.c.saveState.order&&(e.ordering===k||e.ordering)&&a.push(this.dom.orderToggle),((!i||s.toggle.search===k)&&this.c.toggle.search||i&&s.toggle.search)&&this.c.saveState.search&&(e.searching===k||e.searching)&&a.push(this.dom.searchToggle),((!i||s.toggle.paging===k)&&this.c.toggle.paging||i&&s.toggle.paging)&&this.c.saveState.paging&&(e.paging===k||e.paging)&&a.push(this.dom.pagingToggle),((!i||s.toggle.length===k)&&this.c.toggle.length||i&&s.toggle.length)&&this.c.saveState.length&&(e.length===k||e.length)&&a.push(this.dom.lengthToggle),this.s.hasColReorder&&((!i||s.toggle.colReorder===k)&&this.c.toggle.colReorder||i&&s.toggle.colReorder)&&this.c.saveState.colReorder&&a.push(this.dom.colReorderToggle),this.s.hasScroller&&((!i||s.toggle.scroller===k)&&this.c.toggle.scroller||i&&s.toggle.scroller)&&this.c.saveState.scroller&&a.push(this.dom.scrollerToggle),this.s.hasSearchBuilder&&((!i||s.toggle.searchBuilder===k)&&this.c.toggle.searchBuilder||i&&s.toggle.searchBuilder)&&this.c.saveState.searchBuilder&&a.push(this.dom.searchBuilderToggle),this.s.hasSearchPanes&&((!i||s.toggle.searchPanes===k)&&this.c.toggle.searchPanes||i&&s.toggle.searchPanes)&&this.c.saveState.searchPanes&&a.push(this.dom.searchPanesToggle),this.s.hasSelect&&((!i||s.toggle.select===k)&&this.c.toggle.select||i&&s.toggle.select)&&this.c.saveState.select&&a.push(this.dom.selectToggle),"boolean"==typeof this.c.toggle.columns&&((!i||s.toggle.order===k)&&this.c.toggle.columns||i&&s.toggle.order)&&this.c.saveState.columns?(a.push(this.dom.columnsSearchToggle),a.push(this.dom.columnsVisibleToggle)):(i&&s.toggle.columns!==k||"boolean"==typeof this.c.toggle.columns)&&"boolean"==typeof s.toggle.order||("boolean"!=typeof this.c.saveState.columns&&this.c.saveState.columns?((i&&s.toggle.columns!==k&&"boolean"!=typeof s.toggle.columns&&s.toggle.columns.search||(!i||s.toggle.columns===k||"boolean"!=typeof s.toggle.columns&&s.toggle.columns.search===k)&&"boolean"!=typeof this.c.toggle.columns&&this.c.toggle.columns.search)&&this.c.saveState.columns.search&&a.push(this.dom.columnsSearchToggle),(i&&s.toggle.columns!==k&&"boolean"!=typeof s.toggle.columns&&s.toggle.columns.visible||(!i||s.toggle.columns===k||"boolean"!=typeof s.toggle.columns&&s.toggle.columns.visible===k)&&"boolean"!=typeof this.c.toggle.columns&&this.c.toggle.columns.visible)&&this.c.saveState.columns.visible&&a.push(this.dom.columnsVisibleToggle)):this.c.saveState.columns&&(a.push(this.dom.columnsSearchToggle),a.push(this.dom.columnsVisibleToggle))),a.sort(function(e,t){e=e.children("label.dtsr-check-label")[0].innerHTML,t=t.children("label.dtsr-check-label")[0].innerHTML;return e<t?-1:t<e?1:0});for(var n=0,r=a;n<r.length;n++){var c=r[n];this.dom.creationForm.append(c)}f(this.dom.creationForm.children("div."+this.classes.checkRow)[0]).prepend(this.dom.toggleLabel),this.dom.background.appendTo(this.dom.dtContainer),this.dom.creation.append(this.dom.creationTitle).append(this.dom.creationForm).append(this.dom.createButtonRow).appendTo(this.dom.dtContainer),f(this.s.dt.table().node()).trigger("dtsr-modal-inserted");for(var l=0,d=a;l<d.length;l++)!function(e){f(e.children("label:last-child")).on("click",function(){e.children("input").prop("checked",!e.children("input").prop("checked"))})}(c=d[l]);function h(e){"Enter"===e.key?u.click():"Escape"===e.key&&m.click()}var u=f("button."+this.classes.creationButton.replace(/ /g,".")),e=this.dom.creationForm.find("input"),m=((0<e.length?f(e[0]):u).focus(),f("div."+this.classes.background.replace(/ /g,".")));this.c.modalCloseButton&&(this.dom.creation.append(this.dom.closeButton),this.dom.closeButton.on("click",function(){return m.click()})),u.on("click",function(){var e={colReorder:o.dom.colReorderToggle.children("input").is(":checked"),columns:{search:o.dom.columnsSearchToggle.children("input").is(":checked"),visible:o.dom.columnsVisibleToggle.children("input").is(":checked")},length:o.dom.lengthToggle.children("input").is(":checked"),order:o.dom.orderToggle.children("input").is(":checked"),paging:o.dom.pagingToggle.children("input").is(":checked"),scroller:o.dom.scrollerToggle.children("input").is(":checked"),search:o.dom.searchToggle.children("input").is(":checked"),searchBuilder:o.dom.searchBuilderToggle.children("input").is(":checked"),searchPanes:o.dom.searchPanesToggle.children("input").is(":checked"),select:o.dom.selectToggle.children("input").is(":checked")},e=t(f("input."+o.classes.nameInput.replace(/ /g,".")).val(),{saveState:e});!0===e?(o.dom.background.remove(),o.dom.creation.remove(),f(g).unbind("keyup",h)):(o.dom.creation.children("."+o.classes.modalError).remove(),o.dom.creation.append(o.dom[e+"Error"]))}),m.one("click",function(){o.dom.background.remove(),o.dom.creation.remove(),f(g).unbind("keyup",h),o._collectionRebuild()}),f(g).on("keyup",h),this.s.dt.state.save()},r.prototype._removeCallback=function(e){for(var t=0;t<this.s.states.length;t++)this.s.states[t].s.identifier===e&&(this.s.states.splice(t,1),t--);return this._collectionRebuild(),!0},r.prototype._newModal=function(e,t,s,o){function a(e){"Enter"===e.key?n.click():"Escape"===e.key&&r.click()}var i=this,n=(this.dom.background.appendTo(this.dom.dtContainer),this.dom.confirmationTitleRow.empty().append(e),f('<button class="'+this.classes.confirmationButton+" "+this.classes.dtButton+'">'+t+"</button>")),e=(this.dom.confirmation.empty().append(this.dom.confirmationTitleRow).append(o).append(f('<div class="'+this.classes.confirmationButtons+'"></div>').append(n)).appendTo(this.dom.dtContainer),f(this.s.dt.table().node()).trigger("dtsr-modal-inserted"),o.children("input")),r=((0<e.length?f(e[0]):n).focus(),f("div."+this.classes.background.replace(/ /g,".")));n.on("click",function(){var e=s(!0);!0===e?(i.dom.background.remove(),i.dom.confirmation.remove(),f(g).unbind("keyup",a),n.off("click")):(i.dom.confirmation.children("."+i.classes.modalError).remove(),i.dom.confirmation.append(i.dom[e+"Error"]))}),this.dom.confirmation.on("click",function(e){e.stopPropagation()}),r.one("click",function(){i.dom.background.remove(),i.dom.confirmation.remove(),f(g).unbind("keyup",a)}),f(g).on("keyup",a)},r.prototype._searchForStates=function(){for(var a=this,e=Object.keys(localStorage),i=this,t=0,s=e;t<s.length;t++)!function(e){if(e.match(new RegExp("^DataTables_stateRestore_.*_"+location.pathname.replace(/\//g,"/")+"$"))||e.match(new RegExp("^DataTables_stateRestore_.*_"+location.pathname.replace(/\//g,"/")+"_"+i.s.dt.table().node().id+"$"))){var t=JSON.parse(localStorage.getItem(e));if(t.stateRestore.isPreDefined||t.stateRestore.tableId&&t.stateRestore.tableId!==i.s.dt.table().node().id)return;var s=i,o=new p(i.s.dt,f.extend(!0,{},i.c,{saveState:t.c.saveState}),t.stateRestore.state,t,!1,function(){this.s.savedState=t,s.s.states.push(this),s._collectionRebuild()});f(i.s.dt.table().node()).on("dtsr-modal-inserted",function(){o.dom.confirmation.one("dtsr-remove",function(){return a._removeCallback(o.s.identifier)}),o.dom.confirmation.one("dtsr-rename",function(){return a._collectionRebuild()}),o.dom.confirmation.one("dtsr-save",function(){return a._collectionRebuild()})})}}(s[t])},r.version="1.0.0",r.classes={background:"dtsr-background",checkBox:"dtsr-check-box",checkLabel:"dtsr-check-label",checkRow:"dtsr-check-row",closeButton:"dtsr-popover-close",colReorderToggle:"dtsr-colReorder-toggle",columnsSearchToggle:"dtsr-columns-search-toggle",columnsVisibleToggle:"dtsr-columns-visible-toggle",confirmation:"dtsr-confirmation",confirmationButton:"dtsr-confirmation-button",confirmationButtons:"dtsr-confirmation-buttons",confirmationMessage:"dtsr-confirmation-message dtsr-name-label",confirmationText:"dtsr-confirmation-text",confirmationTitle:"dtsr-confirmation-title",confirmationTitleRow:"dtsr-confirmation-title-row",creation:"dtsr-creation",creationButton:"dtsr-creation-button",creationForm:"dtsr-creation-form",creationText:"dtsr-creation-text",creationTitle:"dtsr-creation-title",dtButton:"dt-button",emptyStates:"dtsr-emptyStates",formRow:"dtsr-form-row",leftSide:"dtsr-left",lengthToggle:"dtsr-length-toggle",modalError:"dtsr-modal-error",modalFoot:"dtsr-modal-foot",nameInput:"dtsr-name-input",nameLabel:"dtsr-name-label",orderToggle:"dtsr-order-toggle",pagingToggle:"dtsr-paging-toggle",rightSide:"dtsr-right",scrollerToggle:"dtsr-scroller-toggle",searchBuilderToggle:"dtsr-searchBuilder-toggle",searchPanesToggle:"dtsr-searchPanes-toggle",searchToggle:"dtsr-search-toggle",selectToggle:"dtsr-select-toggle",toggleLabel:"dtsr-toggle-title"},r.defaults={_createInSaved:!1,ajax:!1,create:!0,creationModal:!1,i18n:{creationModal:{button:"Create",colReorder:"Column Order",columns:{search:"Column Search",visible:"Column Visibility"},length:"Page Length",name:"Name:",order:"Sorting",paging:"Paging",scroller:"Scroll Position",search:"Search",searchBuilder:"SearchBuilder",searchPanes:"SearchPanes",select:"Select",title:"Create New State",toggleLabel:"Includes:"},duplicateError:"A state with this name already exists.",emptyError:"Name cannot be empty.",emptyStates:"No saved states",removeConfirm:"Are you sure you want to remove %s?",removeError:"Failed to remove state.",removeJoiner:" and ",removeSubmit:"Remove",removeTitle:"Remove State",renameButton:"Rename",renameLabel:"New Name for %s:",renameTitle:"Rename State"},modalCloseButton:!0,preDefined:{},remove:!0,rename:!0,save:!0,saveState:{colReorder:!0,columns:{search:!0,visible:!0},length:!0,order:!0,paging:!0,scroller:!0,search:!0,searchBuilder:!0,searchPanes:!0,select:!0},splitSecondaries:["updateState","renameState","removeState"],toggle:{colReorder:!1,columns:{search:!1,visible:!1},length:!1,order:!1,paging:!1,scroller:!1,search:!1,searchBuilder:!1,searchPanes:!1,select:!1}},s=r,m=(u=R).fn.dataTable,i=(f=R).fn.dataTable,R.fn.dataTable.StateRestore=p,R.fn.DataTable.StateRestore=p,R.fn.dataTable.StateRestoreCollection=s,R.fn.DataTable.StateRestoreCollection=s,(t=c.Api.register)("stateRestore()",function(){return this}),t("stateRestore.state()",function(e){var t,s=this.context[0];return s._stateRestore||l(t=c.Api(s),new c.StateRestoreCollection(t,{})),this[0]=s._stateRestore.getState(e),this}),t("stateRestore.state.add()",function(e,t){var s,o=this.context[0];if(o._stateRestore||l(s=c.Api(o),new c.StateRestoreCollection(s,{})),!o._stateRestore.c.create)return this;if(o._stateRestore.addState){for(var a=[],i=0,n=o._stateRestore.s.states;i<n.length;i++){var r=n[i];a.push(r.s.identifier)}return o._stateRestore.addState(e,a,t),this}}),t("stateRestore.states()",function(e){var t,s=this.context[0];return s._stateRestore||l(t=c.Api(s),new c.StateRestoreCollection(t,{})),this.length=0,this.push.apply(this,s._stateRestore.getStates(e)),this}),t("stateRestore.state().save()",function(){var e=this[0];return e.c.save&&e.save(),this}),t("stateRestore.state().rename()",function(e){var t=this.context[0],s=this[0];if(s.c.save){for(var o=[],a=0,i=t._stateRestore.s.states;a<i.length;a++){var n=i[a];o.push(n.s.identifier)}s.rename(e,o)}return this}),t("stateRestore.state().load()",function(){return this[0].load(),this}),t("stateRestore.state().remove()",function(e){var t=this[0];return t.c.remove&&t.remove(e),this}),t("stateRestore.states().remove()",function(e){function t(e){for(var t=!0,s=a.toArray();0<s.length;){var o=s[0];if(o===k||!o.c.remove)break;o=o.remove(e);!0!==o?t=o:s.splice(0,1)}return t}var a=this;return this.context[0]._stateRestore&&this.context[0]._stateRestore.c.remove&&(e?t(e):this.context[0]._stateRestore.removeAll(t)),this}),t("stateRestore.activeStates()",function(){var e,t=this.context[0];return this.length=0,t._stateRestore||l(e=c.Api(t),new c.StateRestoreCollection(e,{})),t._stateRestore&&this.push.apply(this,t._stateRestore.findActive()),this}),c.ext.buttons.stateRestore={action:function(e,t,s,o){o._stateRestore.load(),s.blur()},config:{split:["updateState","renameState","removeState"]},text:function(e){return e.i18n("buttons.stateRestore","State %d",e.stateRestore.states()[0].length+1)}},c.ext.buttons.updateState={action:function(e,t,s,o){R("div.dt-button-background").click(),o.parent._stateRestore.save()},text:function(e){return e.i18n("buttons.updateState","Update")}},c.ext.buttons.savedStates={buttons:[],extend:"collection",init:function(e,t,s){e.on("stateRestore-change",function(){e.button(t).text(e.i18n("buttons.savedStates","Saved States",e.stateRestore.states().length))}),e.settings()[0]._stateRestore===k&&o(e,s)},name:"SaveStateRestore",text:function(e){return e.i18n("buttons.savedStates","Saved States",0)}},c.ext.buttons.savedStatesCreate={buttons:[],extend:"collection",init:function(e,t,s){e.on("stateRestore-change",function(){e.button(t).text(e.i18n("buttons.savedStates","Saved States",e.stateRestore.states().length))}),e.settings()[0]._stateRestore===k&&(s.config===k&&(s.config={}),s.config._createInSaved=!0,o(e,s))},name:"SaveStateRestore",text:function(e){return e.i18n("buttons.savedStates","Saved States",0)}},c.ext.buttons.createState={action:function(e,t,s,o){e.stopPropagation();var a=t.settings()[0]._stateRestore.c,e=t.settings()[0].oLanguage;if(a.create&&a.save){var i=t.stateRestore.states().toArray(),e=e.buttons!==k&&e.buttons.stateRestore!==k?e.buttons.stateRestore:"State ";if(e.indexOf("%d")===e.length-3)n=new RegExp(e.replace(/%d/g,""));else for(var e=e.split("%d"),n=[],r=0,c=e;r<c.length;r++){var l=c[r];n.push(new RegExp(l))}for(var d=function(e){if(Array.isArray(n)){a=e;for(var t=0,s=n;t<s.length;t++)var o=s[t],a=a.replace(o,"")}else a=e.replace(n,"");return isNaN(+a)||a.length===e?0:+a},e=i.map(function(e){return d(e.s.identifier)}).sort(function(e,t){return+e<+t?1:+t<+e?-1:0})[0],h=(t.stateRestore.state.add(t.i18n("buttons.stateRestore","State %d",e!==k?e+1:1),o.config),t.stateRestore.states().sort(function(e,t){e=+d(e.s.identifier),t=+d(t.s.identifier);return t<e?1:e<t?-1:0})),i=t.button("SaveStateRestore:name"),u=i[0]!==k&&i[0].inst.c.buttons[0].buttons!==k?i[0].inst.c.buttons[0].buttons:[],m=0;m<u.length;m++)"stateRestore"===u[m].extend&&(u.splice(m,1),m--);a._createInSaved&&(u.push("createState"),u.push(""));for(var g=0,f=h;g<f.length;g++){var p=f[g];(l=Object.assign([],a.splitSecondaries)).includes("updateState")&&!a.save&&l.splice(l.indexOf("updateState"),1),!l.includes("renameState")||a.save&&a.rename||l.splice(l.indexOf("renameState"),1),l.includes("removeState")&&!a.remove&&l.splice(l.indexOf("removeState"),1),0<l.length&&!l.includes("<h3>"+p.s.identifier+"</h3>")&&l.unshift("<h3>"+p.s.identifier+"</h3>"),u.push({_stateRestore:p,attr:{title:p.s.identifier},config:{split:l},extend:"stateRestore",text:p.s.identifier})}t.button("SaveStateRestore:name").collectionRebuild(u),s.blur();for(var v=0,b=t.buttons();v<b.length;v++){var S=b[v];R(S.node).hasClass("dtsr-removeAllStates")&&(0===h.length?t.button(S.node).disable():t.button(S.node).enable())}}},init:function(e,t,s){e.settings()[0]._stateRestore===k&&1<e.button("SaveStateRestore:name").length&&o(e,s)},text:function(e){return e.i18n("buttons.createState","Create State")}},c.ext.buttons.removeState={action:function(e,t,s,o){o.parent._stateRestore.remove(),s.blur()},text:function(e){return e.i18n("buttons.removeState","Remove")}},c.ext.buttons.removeAllStates={action:function(e,t,s){t.stateRestore.states().remove(!0),s.blur()},className:"dt-button dtsr-removeAllStates",init:function(e,t){e.settings()[0]._stateRestore&&0!==e.stateRestore.states().length||R(t).addClass("disabled")},text:function(e){return e.i18n("buttons.removeAllStates","Remove All States")}},c.ext.buttons.renameState={action:function(e,t,s,o){for(var a=[],i=0,n=t.settings()[0]._stateRestore.s.states;i<n.length;i++){var r=n[i];a.push(r.s.identifier)}o.parent._stateRestore.rename(k,a),s.blur()},text:function(e){return e.i18n("buttons.renameState","Rename")}},R(g).on("preInit.dt.dtsr",function(e,t){"dt"!==e.namespace||!t.oInit.stateRestore&&!c.defaults.stateRestore||t._stateRestore||(e=t,void 0===(t=null)&&(t=null),e=new c.Api(e),t=t||e.init().stateRestore||c.defaults.stateRestore,t=new s(e,t),l(e,t))}),c});
\ No newline at end of file diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap.js new file mode 100644 index 0000000..36bd422 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap.js @@ -0,0 +1,71 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net-bs', 'datatables.net-staterestore'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + var jq = require('jquery'); + var cjsRequires = function (root, $) { + if ( ! $.fn.dataTable ) { + require('datatables.net-bs')(root, $); + } + + if ( ! $.fn.dataTable.StateRestore ) { + require('datatables.net-staterestore')(root, $); + } + }; + + if (typeof window !== 'undefined') { + module.exports = function (root, $) { + if ( ! root ) { + // CommonJS environments without a window global must pass a + // root. This will give an error otherwise + root = window; + } + + if ( ! $ ) { + $ = jq( root ); + } + + cjsRequires( root, $ ); + return factory( $, root, root.document ); + }; + } + else { + cjsRequires( window, jq ); + module.exports = factory( jq, window, window.document ); + } + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + +$.extend(true, DataTable.StateRestoreCollection.classes, { + checkBox: 'dtsr-check-box form-check-input', + creationButton: 'dtsr-creation-button btn btn-default', + creationForm: 'dtsr-creation-form modal-body', + creationText: 'dtsr-creation-text modal-header', + creationTitle: 'dtsr-creation-title modal-title', + nameInput: 'dtsr-name-input form-control' +}); +$.extend(true, DataTable.StateRestore.classes, { + confirmationButton: 'dtsr-confirmation-button btn btn-default', + confirmationTitle: 'dtsr-confirmation title modal-header', + input: 'dtsr-input form-control' +}); + + +return DataTable; +})); diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap.min.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap.min.js new file mode 100644 index 0000000..a6c489a --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap.min.js @@ -0,0 +1,4 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ +!function(n){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs","datatables.net-staterestore"],function(t){return n(t,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(t,e){e.fn.dataTable||require("datatables.net-bs")(t,e),e.fn.dataTable.StateRestore||require("datatables.net-staterestore")(t,e)},"undefined"!=typeof window?module.exports=function(t,e){return t=t||window,e=e||o(t),r(t,e),n(e,0,t.document)}:(r(window,o),module.exports=n(o,window,window.document))):n(jQuery,window,document)}(function(t,e,n,o){"use strict";var r=t.fn.dataTable;return t.extend(!0,r.StateRestoreCollection.classes,{checkBox:"dtsr-check-box form-check-input",creationButton:"dtsr-creation-button btn btn-default",creationForm:"dtsr-creation-form modal-body",creationText:"dtsr-creation-text modal-header",creationTitle:"dtsr-creation-title modal-title",nameInput:"dtsr-name-input form-control"}),t.extend(!0,r.StateRestore.classes,{confirmationButton:"dtsr-confirmation-button btn btn-default",confirmationTitle:"dtsr-confirmation title modal-header",input:"dtsr-input form-control"}),r});
\ No newline at end of file diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap4.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap4.js new file mode 100644 index 0000000..b9f5a4f --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap4.js @@ -0,0 +1,70 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net-bs4', 'datatables.net-staterestore'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + var jq = require('jquery'); + var cjsRequires = function (root, $) { + if ( ! $.fn.dataTable ) { + require('datatables.net-bs4')(root, $); + } + + if ( ! $.fn.dataTable.StateRestore ) { + require('datatables.net-staterestore')(root, $); + } + }; + + if (typeof window !== 'undefined') { + module.exports = function (root, $) { + if ( ! root ) { + // CommonJS environments without a window global must pass a + // root. This will give an error otherwise + root = window; + } + + if ( ! $ ) { + $ = jq( root ); + } + + cjsRequires( root, $ ); + return factory( $, root, root.document ); + }; + } + else { + cjsRequires( window, jq ); + module.exports = factory( jq, window, window.document ); + } + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + +$.extend(true, DataTable.StateRestoreCollection.classes, { + checkBox: 'dtsr-check-box form-check-input', + creationButton: 'dtsr-creation-button btn btn-secondary', + creationForm: 'dtsr-creation-form modal-body', + creationText: 'dtsr-creation-text modal-header', + creationTitle: 'dtsr-creation-title modal-title', + nameInput: 'dtsr-name-input form-control' +}); +$.extend(true, DataTable.StateRestore.classes, { + confirmationButton: 'dtsr-confirmation-button btn btn-secondary', + input: 'dtsr-input form-control' +}); + + +return DataTable; +})); diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap4.min.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap4.min.js new file mode 100644 index 0000000..e121544 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap4.min.js @@ -0,0 +1,4 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ +!function(n){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-staterestore"],function(t){return n(t,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(t,e){e.fn.dataTable||require("datatables.net-bs4")(t,e),e.fn.dataTable.StateRestore||require("datatables.net-staterestore")(t,e)},"undefined"!=typeof window?module.exports=function(t,e){return t=t||window,e=e||o(t),r(t,e),n(e,0,t.document)}:(r(window,o),module.exports=n(o,window,window.document))):n(jQuery,window,document)}(function(t,e,n,o){"use strict";var r=t.fn.dataTable;return t.extend(!0,r.StateRestoreCollection.classes,{checkBox:"dtsr-check-box form-check-input",creationButton:"dtsr-creation-button btn btn-secondary",creationForm:"dtsr-creation-form modal-body",creationText:"dtsr-creation-text modal-header",creationTitle:"dtsr-creation-title modal-title",nameInput:"dtsr-name-input form-control"}),t.extend(!0,r.StateRestore.classes,{confirmationButton:"dtsr-confirmation-button btn btn-secondary",input:"dtsr-input form-control"}),r});
\ No newline at end of file diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap5.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap5.js new file mode 100644 index 0000000..22f8fee --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap5.js @@ -0,0 +1,73 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net-bs5', 'datatables.net-staterestore'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + var jq = require('jquery'); + var cjsRequires = function (root, $) { + if ( ! $.fn.dataTable ) { + require('datatables.net-bs5')(root, $); + } + + if ( ! $.fn.dataTable.StateRestore ) { + require('datatables.net-staterestore')(root, $); + } + }; + + if (typeof window !== 'undefined') { + module.exports = function (root, $) { + if ( ! root ) { + // CommonJS environments without a window global must pass a + // root. This will give an error otherwise + root = window; + } + + if ( ! $ ) { + $ = jq( root ); + } + + cjsRequires( root, $ ); + return factory( $, root, root.document ); + }; + } + else { + cjsRequires( window, jq ); + module.exports = factory( jq, window, window.document ); + } + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + +$.extend(true, DataTable.StateRestoreCollection.classes, { + checkBox: 'dtsr-check-box form-check-input', + checkLabel: 'dtsr-check-label form-check-label', + checkRow: 'dtsr-check-row form-check', + creationButton: 'dtsr-creation-button btn btn-secondary', + creationForm: 'dtsr-creation-form modal-body', + creationText: 'dtsr-creation-text modal-header', + creationTitle: 'dtsr-creation-title modal-title', + nameInput: 'dtsr-name-input form-control', + nameLabel: 'dtsr-name-label form-label' +}); +$.extend(true, DataTable.StateRestore.classes, { + confirmationButton: 'dtsr-confirmation-button btn btn-secondary', + input: 'dtsr-input form-control' +}); + + +return DataTable; +})); diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap5.min.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap5.min.js new file mode 100644 index 0000000..ecdd5ed --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bootstrap5.min.js @@ -0,0 +1,4 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ +!function(n){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs5","datatables.net-staterestore"],function(e){return n(e,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(e,t){t.fn.dataTable||require("datatables.net-bs5")(e,t),t.fn.dataTable.StateRestore||require("datatables.net-staterestore")(e,t)},"undefined"!=typeof window?module.exports=function(e,t){return e=e||window,t=t||o(e),r(e,t),n(t,0,e.document)}:(r(window,o),module.exports=n(o,window,window.document))):n(jQuery,window,document)}(function(e,t,n,o){"use strict";var r=e.fn.dataTable;return e.extend(!0,r.StateRestoreCollection.classes,{checkBox:"dtsr-check-box form-check-input",checkLabel:"dtsr-check-label form-check-label",checkRow:"dtsr-check-row form-check",creationButton:"dtsr-creation-button btn btn-secondary",creationForm:"dtsr-creation-form modal-body",creationText:"dtsr-creation-text modal-header",creationTitle:"dtsr-creation-title modal-title",nameInput:"dtsr-name-input form-control",nameLabel:"dtsr-name-label form-label"}),e.extend(!0,r.StateRestore.classes,{confirmationButton:"dtsr-confirmation-button btn btn-secondary",input:"dtsr-input form-control"}),r});
\ No newline at end of file diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bulma.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bulma.js new file mode 100644 index 0000000..7413fc7 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bulma.js @@ -0,0 +1,71 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net-bm', 'datatables.net-staterestore'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + var jq = require('jquery'); + var cjsRequires = function (root, $) { + if ( ! $.fn.dataTable ) { + require('datatables.net-bm')(root, $); + } + + if ( ! $.fn.dataTable.StateRestore ) { + require('datatables.net-staterestore')(root, $); + } + }; + + if (typeof window !== 'undefined') { + module.exports = function (root, $) { + if ( ! root ) { + // CommonJS environments without a window global must pass a + // root. This will give an error otherwise + root = window; + } + + if ( ! $ ) { + $ = jq( root ); + } + + cjsRequires( root, $ ); + return factory( $, root, root.document ); + }; + } + else { + cjsRequires( window, jq ); + module.exports = factory( jq, window, window.document ); + } + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + +$.extend(true, DataTable.StateRestoreCollection.classes, { + checkRow: 'dtsr-check-row checkbox', + creationButton: 'dtsr-creation-button button', + creationForm: 'dtsr-creation-form modal-content', + creationText: 'dtsr-creation-text modal-header', + creationTitle: 'dtsr-creation-title modal-card-title', + nameInput: 'dtsr-name-input input' +}); +$.extend(true, DataTable.StateRestore.classes, { + confirmationButton: 'dtsr-confirmation-button button', + confirmationTitle: 'dtsr-confirmation-title modal-card-title', + input: 'dtsr-input input' +}); + + +return DataTable; +})); diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bulma.min.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bulma.min.js new file mode 100644 index 0000000..f29951f --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.bulma.min.js @@ -0,0 +1,4 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ +!function(n){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bm","datatables.net-staterestore"],function(t){return n(t,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(t,e){e.fn.dataTable||require("datatables.net-bm")(t,e),e.fn.dataTable.StateRestore||require("datatables.net-staterestore")(t,e)},"undefined"!=typeof window?module.exports=function(t,e){return t=t||window,e=e||o(t),r(t,e),n(e,0,t.document)}:(r(window,o),module.exports=n(o,window,window.document))):n(jQuery,window,document)}(function(t,e,n,o){"use strict";var r=t.fn.dataTable;return t.extend(!0,r.StateRestoreCollection.classes,{checkRow:"dtsr-check-row checkbox",creationButton:"dtsr-creation-button button",creationForm:"dtsr-creation-form modal-content",creationText:"dtsr-creation-text modal-header",creationTitle:"dtsr-creation-title modal-card-title",nameInput:"dtsr-name-input input"}),t.extend(!0,r.StateRestore.classes,{confirmationButton:"dtsr-confirmation-button button",confirmationTitle:"dtsr-confirmation-title modal-card-title",input:"dtsr-input input"}),r});
\ No newline at end of file diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.dataTables.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.dataTables.js new file mode 100644 index 0000000..82183a5 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.dataTables.js @@ -0,0 +1,58 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net-dt', 'datatables.net-staterestore'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + var jq = require('jquery'); + var cjsRequires = function (root, $) { + if ( ! $.fn.dataTable ) { + require('datatables.net-dt')(root, $); + } + + if ( ! $.fn.dataTable.StateRestore ) { + require('datatables.net-staterestore')(root, $); + } + }; + + if (typeof window !== 'undefined') { + module.exports = function (root, $) { + if ( ! root ) { + // CommonJS environments without a window global must pass a + // root. This will give an error otherwise + root = window; + } + + if ( ! $ ) { + $ = jq( root ); + } + + cjsRequires( root, $ ); + return factory( $, root, root.document ); + }; + } + else { + cjsRequires( window, jq ); + module.exports = factory( jq, window, window.document ); + } + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + + + +return DataTable; +})); diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.dataTables.min.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.dataTables.min.js new file mode 100644 index 0000000..bc3bd36 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.dataTables.min.js @@ -0,0 +1,4 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ +!function(n){var o,d;"function"==typeof define&&define.amd?define(["jquery","datatables.net-dt","datatables.net-staterestore"],function(e){return n(e,window,document)}):"object"==typeof exports?(o=require("jquery"),d=function(e,t){t.fn.dataTable||require("datatables.net-dt")(e,t),t.fn.dataTable.StateRestore||require("datatables.net-staterestore")(e,t)},"undefined"!=typeof window?module.exports=function(e,t){return e=e||window,t=t||o(e),d(e,t),n(t,0,e.document)}:(d(window,o),module.exports=n(o,window,window.document))):n(jQuery,window,document)}(function(e,t,n,o){"use strict";return e.fn.dataTable});
\ No newline at end of file diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.foundation.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.foundation.js new file mode 100644 index 0000000..40b4076 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.foundation.js @@ -0,0 +1,73 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net-zf', 'datatables.net-staterestore'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + var jq = require('jquery'); + var cjsRequires = function (root, $) { + if ( ! $.fn.dataTable ) { + require('datatables.net-zf')(root, $); + } + + if ( ! $.fn.dataTable.StateRestore ) { + require('datatables.net-staterestore')(root, $); + } + }; + + if (typeof window !== 'undefined') { + module.exports = function (root, $) { + if ( ! root ) { + // CommonJS environments without a window global must pass a + // root. This will give an error otherwise + root = window; + } + + if ( ! $ ) { + $ = jq( root ); + } + + cjsRequires( root, $ ); + return factory( $, root, root.document ); + }; + } + else { + cjsRequires( window, jq ); + module.exports = factory( jq, window, window.document ); + } + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + +$.extend(true, DataTable.StateRestoreCollection.classes, { + checkBox: 'dtsr-check-box form-check-input', + checkLabel: 'dtsr-check-label form-check-label', + checkRow: 'dtsr-check-row form', + creationButton: 'dtsr-creation-button button', + creationForm: 'dtsr-creation-form modal-body', + creationText: 'dtsr-creation-text modal-header', + creationTitle: 'dtsr-creation-title modal-title', + nameInput: 'dtsr-name-input form-control', + nameLabel: 'dtsr-name-label form-label', + nameRow: 'dtsr-name-row medium-6 cell' +}); +$.extend(true, DataTable.StateRestore.classes, { + confirmationButton: 'dtsr-confirmation-button button' +}); + + +return DataTable; +})); diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.foundation.min.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.foundation.min.js new file mode 100644 index 0000000..3875137 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.foundation.min.js @@ -0,0 +1,4 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ +!function(o){var n,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-zf","datatables.net-staterestore"],function(e){return o(e,window,document)}):"object"==typeof exports?(n=require("jquery"),r=function(e,t){t.fn.dataTable||require("datatables.net-zf")(e,t),t.fn.dataTable.StateRestore||require("datatables.net-staterestore")(e,t)},"undefined"!=typeof window?module.exports=function(e,t){return e=e||window,t=t||n(e),r(e,t),o(t,0,e.document)}:(r(window,n),module.exports=o(n,window,window.document))):o(jQuery,window,document)}(function(e,t,o,n){"use strict";var r=e.fn.dataTable;return e.extend(!0,r.StateRestoreCollection.classes,{checkBox:"dtsr-check-box form-check-input",checkLabel:"dtsr-check-label form-check-label",checkRow:"dtsr-check-row form",creationButton:"dtsr-creation-button button",creationForm:"dtsr-creation-form modal-body",creationText:"dtsr-creation-text modal-header",creationTitle:"dtsr-creation-title modal-title",nameInput:"dtsr-name-input form-control",nameLabel:"dtsr-name-label form-label",nameRow:"dtsr-name-row medium-6 cell"}),e.extend(!0,r.StateRestore.classes,{confirmationButton:"dtsr-confirmation-button button"}),r});
\ No newline at end of file diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.jqueryui.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.jqueryui.js new file mode 100644 index 0000000..a53f844 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.jqueryui.js @@ -0,0 +1,74 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net-jqui', 'datatables.net-staterestore'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + var jq = require('jquery'); + var cjsRequires = function (root, $) { + if ( ! $.fn.dataTable ) { + require('datatables.net-jqui')(root, $); + } + + if ( ! $.fn.dataTable.StateRestore ) { + require('datatables.net-staterestore')(root, $); + } + }; + + if (typeof window !== 'undefined') { + module.exports = function (root, $) { + if ( ! root ) { + // CommonJS environments without a window global must pass a + // root. This will give an error otherwise + root = window; + } + + if ( ! $ ) { + $ = jq( root ); + } + + cjsRequires( root, $ ); + return factory( $, root, root.document ); + }; + } + else { + cjsRequires( window, jq ); + module.exports = factory( jq, window, window.document ); + } + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + +$.extend(true, DataTable.StateRestoreCollection.classes, { + checkBox: 'dtsr-check-box form-check-input', + checkLabel: 'dtsr-check-label form-check-label', + checkRow: 'dtsr-check-row form', + creationButton: 'dtsr-creation-button ui-button ui-corner-all ui-widget', + creationForm: 'dtsr-creation-form modal-body', + creationText: 'dtsr-creation-text modal-header', + creationTitle: 'dtsr-creation-title modal-title', + nameInput: 'dtsr-name-input form-control', + nameLabel: 'dtsr-name-label form-label', + nameRow: 'dtsr-name-row medium-6 cell' +}); +$.extend(true, DataTable.StateRestore.classes, { + // eslint-disable-next-line max-len + confirmationButton: 'dtsr-confirmation-button ui-button ui-state-default ui-button-text-only ui-corner-all ui-widget' +}); + + +return DataTable; +})); diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.jqueryui.min.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.jqueryui.min.js new file mode 100644 index 0000000..f796414 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.jqueryui.min.js @@ -0,0 +1,4 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ +!function(o){var n,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-jqui","datatables.net-staterestore"],function(e){return o(e,window,document)}):"object"==typeof exports?(n=require("jquery"),r=function(e,t){t.fn.dataTable||require("datatables.net-jqui")(e,t),t.fn.dataTable.StateRestore||require("datatables.net-staterestore")(e,t)},"undefined"!=typeof window?module.exports=function(e,t){return e=e||window,t=t||n(e),r(e,t),o(t,0,e.document)}:(r(window,n),module.exports=o(n,window,window.document))):o(jQuery,window,document)}(function(e,t,o,n){"use strict";var r=e.fn.dataTable;return e.extend(!0,r.StateRestoreCollection.classes,{checkBox:"dtsr-check-box form-check-input",checkLabel:"dtsr-check-label form-check-label",checkRow:"dtsr-check-row form",creationButton:"dtsr-creation-button ui-button ui-corner-all ui-widget",creationForm:"dtsr-creation-form modal-body",creationText:"dtsr-creation-text modal-header",creationTitle:"dtsr-creation-title modal-title",nameInput:"dtsr-name-input form-control",nameLabel:"dtsr-name-label form-label",nameRow:"dtsr-name-row medium-6 cell"}),e.extend(!0,r.StateRestore.classes,{confirmationButton:"dtsr-confirmation-button ui-button ui-state-default ui-button-text-only ui-corner-all ui-widget"}),r});
\ No newline at end of file diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.semanticui.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.semanticui.js new file mode 100644 index 0000000..ba9e183 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.semanticui.js @@ -0,0 +1,76 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net-se', 'datatables.net-staterestore'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + var jq = require('jquery'); + var cjsRequires = function (root, $) { + if ( ! $.fn.dataTable ) { + require('datatables.net-se')(root, $); + } + + if ( ! $.fn.dataTable.StateRestore ) { + require('datatables.net-staterestore')(root, $); + } + }; + + if (typeof window !== 'undefined') { + module.exports = function (root, $) { + if ( ! root ) { + // CommonJS environments without a window global must pass a + // root. This will give an error otherwise + root = window; + } + + if ( ! $ ) { + $ = jq( root ); + } + + cjsRequires( root, $ ); + return factory( $, root, root.document ); + }; + } + else { + cjsRequires( window, jq ); + module.exports = factory( jq, window, window.document ); + } + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + +$.extend(true, DataTable.StateRestoreCollection.classes, { + checkBox: 'dtsr-check-box form-check-input', + checkLabel: 'dtsr-check-label form-check-label', + checkRow: 'dtsr-check-row form', + creationButton: 'dtsr-creation-button ui button primary', + creationForm: 'dtsr-creation-form modal-body', + creationText: 'dtsr-creation-text modal-header', + creationTitle: 'dtsr-creation-title modal-title', + nameInput: 'dtsr-name-input form-control', + nameLabel: 'dtsr-name-label form-label', + nameRow: 'dtsr-name-row ui input' +}); +$.extend(true, DataTable.StateRestore.classes, { + confirmation: 'dtsr-confirmation modal', + confirmationButton: 'dtsr-confirmation-button ui button primary', + confirmationText: 'dtsr-confirmation-text modal-body', + renameModal: 'dtsr-rename-modal ui input' +}); + + +return DataTable; +})); diff --git a/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.semanticui.min.js b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.semanticui.min.js new file mode 100644 index 0000000..8d5d238 --- /dev/null +++ b/public/assets/js/DataTables/StateRestore-1.2.2/js/stateRestore.semanticui.min.js @@ -0,0 +1,4 @@ +/*! Bootstrap integration for DataTables' StateRestore + * © SpryMedia Ltd - datatables.net/license + */ +!function(o){var n,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-se","datatables.net-staterestore"],function(t){return o(t,window,document)}):"object"==typeof exports?(n=require("jquery"),r=function(t,e){e.fn.dataTable||require("datatables.net-se")(t,e),e.fn.dataTable.StateRestore||require("datatables.net-staterestore")(t,e)},"undefined"!=typeof window?module.exports=function(t,e){return t=t||window,e=e||n(t),r(t,e),o(e,0,t.document)}:(r(window,n),module.exports=o(n,window,window.document))):o(jQuery,window,document)}(function(t,e,o,n){"use strict";var r=t.fn.dataTable;return t.extend(!0,r.StateRestoreCollection.classes,{checkBox:"dtsr-check-box form-check-input",checkLabel:"dtsr-check-label form-check-label",checkRow:"dtsr-check-row form",creationButton:"dtsr-creation-button ui button primary",creationForm:"dtsr-creation-form modal-body",creationText:"dtsr-creation-text modal-header",creationTitle:"dtsr-creation-title modal-title",nameInput:"dtsr-name-input form-control",nameLabel:"dtsr-name-label form-label",nameRow:"dtsr-name-row ui input"}),t.extend(!0,r.StateRestore.classes,{confirmation:"dtsr-confirmation modal",confirmationButton:"dtsr-confirmation-button ui button primary",confirmationText:"dtsr-confirmation-text modal-body",renameModal:"dtsr-rename-modal ui input"}),r});
\ No newline at end of file |
