jsl-ui 8.10.2 → 8.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,7 @@ import { IJSLComponent, JSLRender, IJSLVNode } from "jsl-render";
2
2
  export interface IIntervalOptions {
3
3
  interval: number;
4
4
  stopOnError?: boolean;
5
+ noRefresh?: boolean;
5
6
  }
6
7
  export declare class IntervalComponent implements IJSLComponent {
7
8
  private fnc;
@@ -24,12 +24,16 @@ var IntervalComponent = /** @class */ (function () {
24
24
  var isPromise = result && typeof result.then === "function" && typeof result.catch === "function";
25
25
  if (isPromise) {
26
26
  result.then(function () {
27
- _this.renderer.refresh();
27
+ if (!_this.options.noRefresh) {
28
+ _this.renderer.refresh();
29
+ }
28
30
  node.dom.value = setTimeout(f, _this.options.interval).toString();
29
31
  }).catch(function (e) {
30
32
  console.error(e);
31
33
  if (!_this.options.stopOnError) {
32
- _this.renderer.refresh();
34
+ if (!_this.options.noRefresh) {
35
+ _this.renderer.refresh();
36
+ }
33
37
  node.dom.value = setTimeout(f, _this.options.interval).toString();
34
38
  }
35
39
  });
@@ -44,7 +48,9 @@ var IntervalComponent = /** @class */ (function () {
44
48
  return;
45
49
  }
46
50
  }
47
- _this.renderer.refresh();
51
+ if (!_this.options.noRefresh) {
52
+ _this.renderer.refresh();
53
+ }
48
54
  node.dom.value = setTimeout(f, _this.options.interval).toString();
49
55
  }
50
56
  };
@@ -1,7 +1,9 @@
1
1
  import { IJSLComponent, IJSLVNode } from "jsl-render";
2
2
  import { IAutoSuggestOptions, IAutoSuggest } from "../../ui/auto.suggest";
3
3
  export interface IAutoSuggestComponentOptions extends IAutoSuggestOptions {
4
+ value?: string;
4
5
  class?: string;
6
+ style?: string;
5
7
  placeholder?: string;
6
8
  }
7
9
  export declare class AutoSuggestComponent implements IJSLComponent {
@@ -12,6 +14,8 @@ export declare class AutoSuggestComponent implements IJSLComponent {
12
14
  render(): IJSLVNode;
13
15
  getRef(): IAutoSuggest;
14
16
  getValue(): string;
17
+ setValue(val: string): void;
18
+ focus(): void;
15
19
  onCreate(node: IJSLVNode): void;
16
20
  onUpdate(node: IJSLVNode): void;
17
21
  onRemove(): void;
@@ -5,10 +5,10 @@ var AutoSuggestComponent = /** @class */ (function () {
5
5
  // this.id = this.options.id ?? helper.newDomGuid();
6
6
  }
7
7
  AutoSuggestComponent.prototype.render = function () {
8
- var _a, _b;
8
+ var _a;
9
9
  return {
10
10
  tag: "input",
11
- attr: { class: (_a = this.options.class, (_a !== null && _a !== void 0 ? _a : "")), placeholder: (_b = this.options.placeholder, (_b !== null && _b !== void 0 ? _b : "")) }
11
+ attr: { value: this.options.value, class: this.options.class, style: this.options.style, placeholder: (_a = this.options.placeholder, (_a !== null && _a !== void 0 ? _a : "")) }
12
12
  };
13
13
  };
14
14
  AutoSuggestComponent.prototype.getRef = function () {
@@ -20,6 +20,18 @@ var AutoSuggestComponent = /** @class */ (function () {
20
20
  }
21
21
  return this.dom.value;
22
22
  };
23
+ AutoSuggestComponent.prototype.setValue = function (val) {
24
+ if (this.dom == null) {
25
+ return;
26
+ }
27
+ this.dom.value = val;
28
+ };
29
+ AutoSuggestComponent.prototype.focus = function () {
30
+ if (this.dom == null) {
31
+ return;
32
+ }
33
+ this.dom.focus();
34
+ };
23
35
  AutoSuggestComponent.prototype.onCreate = function (node) {
24
36
  this.dom = node.dom;
25
37
  AutoSuggest(node.dom, this.options);
@@ -53,13 +53,13 @@ var CheckBoxComponent = /** @class */ (function () {
53
53
  }
54
54
  return {
55
55
  tag: "span",
56
+ attr: { style: this.options.style },
56
57
  children: [{
57
58
  tag: "input",
58
59
  attr: {
59
60
  type: "checkbox",
60
61
  disabled: !this.options.enabled ? "disabled" : undefined,
61
62
  class: "checkbox-comp " + (this.options.class || ""),
62
- style: this.options.style,
63
63
  change: this.raiseEvent,
64
64
  checked: val ? "checked" : undefined,
65
65
  id: typeof this.options.id === "string" ? this.options.id : undefined
@@ -8,12 +8,14 @@
8
8
  align-content: center;
9
9
  min-height: 1.5rem;
10
10
  line-height: 1.5rem;
11
+ align-items: center;
11
12
 
12
13
  .toggler {
13
14
  border-top-left-radius: 0.3rem;
14
15
  border-bottom-left-radius: 0.3rem;
15
16
  cursor: pointer;
16
17
  display: inline-block;
18
+ background: #3B99FF;
17
19
 
18
20
  &:hover {
19
21
  background: #6bb1fc;
@@ -28,11 +30,12 @@
28
30
  display: inline-block;
29
31
  flex-grow: 1;
30
32
  padding-left: 0.6em;
33
+ }
34
+
31
35
 
32
- &:hover {
33
- background: #6bb1fc;
34
- color: black;
35
- }
36
+ &:hover {
37
+ background: #6bb1fc;
38
+ color: black;
36
39
  }
37
40
  }
38
41
  .expand-collapse-icon {
@@ -200,7 +200,12 @@ var SelectComponent = /** @class */ (function () {
200
200
  SelectComponent.prototype.destroy = function () {
201
201
  var x = document.querySelector(".sel-comp-dd");
202
202
  if (x != null && x.parentElement != null) {
203
- x.parentElement.removeChild(x);
203
+ try {
204
+ x.parentElement.removeChild(x);
205
+ }
206
+ catch (ex) {
207
+ // under certain conditions the child may not be in the parentElements child collection anymore, although the child node still has that element as its parent (e.g. blur event handler) - weird JavaScript stuff eh
208
+ }
204
209
  }
205
210
  this.expanded = false;
206
211
  };
@@ -271,11 +271,11 @@ export function createJSLGrid(selector, data, columns, option) {
271
271
  });
272
272
  }
273
273
  // refresh formulas depending on the given column
274
- function triggerFormula(column, row) {
274
+ function triggerFormula(column, item) {
275
275
  var f = formulas[column];
276
276
  if (f) {
277
277
  for (var i = 0, l = f.length; i < l; i++) {
278
- row[f[i].column] = f[i].fnc(row, column);
278
+ item[f[i].column] = f[i].fnc(item, column);
279
279
  }
280
280
  }
281
281
  }
@@ -462,7 +462,12 @@ export function createJSLGrid(selector, data, columns, option) {
462
462
  function refreshDataItem(item) {
463
463
  var options = grid.getOptions();
464
464
  dataView.updateItem(item[options.primaryKey], item);
465
- // TODO: formula?
465
+ // formula refresh
466
+ for (var f in formulas) {
467
+ if (formulas.hasOwnProperty(f)) {
468
+ triggerFormula(f, item);
469
+ }
470
+ }
466
471
  grid.updateRow(dataView.getRowByItem(item));
467
472
  }
468
473
  function addFilter(filter, dontrefresh) {
@@ -101,8 +101,11 @@ export function DataView(options) {
101
101
  var id;
102
102
  for (var i = 0, l = items.length; i < l; i++) {
103
103
  id = items[i][idProperty];
104
- if (id === undefined || idxById[id] !== i) {
105
- throw new Error("Each data element must implement a unique 'id' property");
104
+ if (id === undefined) {
105
+ throw new Error("Id (" + idProperty + ") of element at index " + i + " was undefined");
106
+ }
107
+ else if (idxById[id] !== i) {
108
+ throw new Error("Duplicate id (" + idProperty + ") for " + id + " found at index (" + idxById[id] + ", " + i + ")");
106
109
  }
107
110
  }
108
111
  }
@@ -11,3 +11,4 @@ export interface ILookupEditorOptions {
11
11
  matchSearch?: (data: any, term: string) => boolean;
12
12
  }
13
13
  export declare function LookupEditor(args: any): void;
14
+ export declare function AutoSuggestEditor(args: any): void;
@@ -11,6 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { JSLRender } from "jsl-render";
13
13
  import { SelectComponent } from "../components/select/SelectComponent";
14
+ import { AutoSuggestComponent } from "../components/auto-suggest/AutoSuggestComponent";
14
15
  /*
15
16
  * Contains extended SlickGrid editors.
16
17
  */
@@ -148,7 +149,13 @@ export function LookupEditor(args) {
148
149
  console.warn("No value list found for column " + args.column.id);
149
150
  }
150
151
  // args.container.appendChild(input);
151
- dropdown = new SelectComponent(__assign({ data: data, dropdownWidth: args.column.width + "px", style: "min-width:0;width:100%;position:absolute;top:0;right:0;bottom:0;left:0;", openOnEnter: false }, args.column.editorOptions));
152
+ dropdown = new SelectComponent(__assign({ data: data, dropdownWidth: args.column.width + "px", style: "min-width:0;width:100%;position:absolute;top:0;right:0;bottom:0;left:0;", openOnEnter: false,
153
+ // onAppend: (dom) => {
154
+ // (args.grid as ISlickGrid<any>).getContainerNode().appendChild(dom);
155
+ // },
156
+ onChange: function (e) {
157
+ args.grid.getEditorLock().commitChangesOnly();
158
+ } }, args.column.editorOptions));
152
159
  //dropdown = DropDown(input, { ...{ data, searchable: false, defaultSelected: false, pagination: 100 }, ...args.column.editorOptions });
153
160
  new JSLRender(args.container, false).render(dropdown);
154
161
  // dropdown.show();
@@ -216,3 +223,130 @@ export function LookupEditor(args) {
216
223
  };
217
224
  this.init();
218
225
  }
226
+ export function AutoSuggestEditor(args) {
227
+ // var input: HTMLDivElement;
228
+ var dropdown;
229
+ var defaultValue;
230
+ var scope = this;
231
+ var reposition = true;
232
+ this.keyCaptureList = function (which) {
233
+ // if (which === 13) {
234
+ // dropdown.show();
235
+ // return false;
236
+ // }
237
+ if (which === 38 || which === 40) {
238
+ // if (dropdown.isExpanded()) {
239
+ return false;
240
+ // }
241
+ }
242
+ };
243
+ this.init = function () {
244
+ // input = document.createElement("div");
245
+ var vl = args.column.valueList;
246
+ var data = [];
247
+ if (vl) {
248
+ if (Array.isArray(vl)) {
249
+ for (var _i = 0, vl_3 = vl; _i < vl_3.length; _i++) {
250
+ var element = vl_3[_i];
251
+ if (typeof element === "string") {
252
+ data.push({ text: element, value: element });
253
+ }
254
+ else {
255
+ data.push(element);
256
+ }
257
+ }
258
+ }
259
+ else {
260
+ for (var key in vl) {
261
+ if (!vl.hasOwnProperty(key)) {
262
+ continue;
263
+ }
264
+ data.push({ text: vl[key], value: key });
265
+ }
266
+ }
267
+ }
268
+ else {
269
+ console.warn("No value list found for column " + args.column.id);
270
+ }
271
+ // dropdown = new SelectComponent({
272
+ // data,
273
+ // dropdownWidth: args.column.width + "px",
274
+ // style: "min-width:0;width:100%;position:absolute;top:0;right:0;bottom:0;left:0;",
275
+ // openOnEnter: false,
276
+ // // onAppend: (dom) => {
277
+ // // (args.grid as ISlickGrid<any>).getContainerNode().appendChild(dom);
278
+ // // },
279
+ // ...args.column.editorOptions
280
+ // });
281
+ dropdown = new AutoSuggestComponent({
282
+ style: "min-width:0;width:100%;position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;",
283
+ source: function (val, suggest) {
284
+ var term = (val || "").toLowerCase();
285
+ suggest(data.filter(function (x) {
286
+ return term === "" || x.text.toLowerCase().indexOf(term) >= 0;
287
+ }).map(function (x) { return x.text; }));
288
+ },
289
+ cache: false
290
+ });
291
+ new JSLRender(args.container, false).render(dropdown);
292
+ dropdown.focus();
293
+ };
294
+ this.show = function () {
295
+ reposition = true;
296
+ };
297
+ this.hide = function () {
298
+ reposition = false;
299
+ };
300
+ this.position = function (position) {
301
+ // if (dropdown.isExpanded() && reposition) {
302
+ // const dd = document.querySelector(".sel-comp-dd") as HTMLDivElement;
303
+ // if (dd.classList.contains("sel-comp-dd-up")) {
304
+ // dd.style.top = (position.top - dd.getBoundingClientRect().height) + "px";
305
+ // } else {
306
+ // dd.style.top = (position.top + args.grid.getOptions().rowHeight) + "px";
307
+ // }
308
+ // dd.style.left = (position.left) + "px";
309
+ // }
310
+ };
311
+ this.destroy = function () {
312
+ var _a;
313
+ (_a = dropdown.getRef()) === null || _a === void 0 ? void 0 : _a.destroy();
314
+ };
315
+ this.focus = function () {
316
+ dropdown.focus();
317
+ };
318
+ this.getValue = function () {
319
+ return dropdown.getValue();
320
+ };
321
+ this.setValue = function (val) {
322
+ // dropdown.setValue(val != null ? val.toString() : val);
323
+ dropdown.setValue(val || "");
324
+ };
325
+ this.loadValue = function (item) {
326
+ defaultValue = item[args.column.field];
327
+ // dropdown.setValue(defaultValue);
328
+ dropdown.setValue(defaultValue || "");
329
+ };
330
+ this.serializeValue = function () {
331
+ return dropdown.getValue();
332
+ };
333
+ this.applyValue = function (item, state) {
334
+ item[args.column.field] = state;
335
+ };
336
+ this.isValueChanged = function () {
337
+ return (dropdown.getValue() !== defaultValue);
338
+ };
339
+ this.validate = function () {
340
+ if (args.column.validator) {
341
+ var validationResults = args.column.validator(dropdown.getValue());
342
+ if (!validationResults.valid) {
343
+ return validationResults;
344
+ }
345
+ }
346
+ return {
347
+ valid: true,
348
+ msg: null
349
+ };
350
+ };
351
+ this.init();
352
+ }
@@ -10,6 +10,7 @@ export declare let HtmlFormatter: ISlickFormatter;
10
10
  export declare let LookupFormatter: ISlickFormatter;
11
11
  export declare let MultiLookupFormatter: ISlickFormatter;
12
12
  export declare let TextFormatter: ISlickFormatter;
13
+ export declare let TooltipFormatter: ISlickFormatter;
13
14
  export declare let MultiLineTextFormatter: ISlickFormatter;
14
15
  export declare let TimeFormatter: ISlickFormatter;
15
16
  export declare let DateTimeFormatter: ISlickFormatter;
@@ -101,6 +101,15 @@ export var TextFormatter = function (row, cell, value, columnDef, dataContext) {
101
101
  return escapeHTMLChars(value + "");
102
102
  }
103
103
  };
104
+ export var TooltipFormatter = function (row, cell, value, columnDef, dataContext) {
105
+ if (value == null) {
106
+ return "";
107
+ }
108
+ else {
109
+ var result = escapeHTMLChars(value + "");
110
+ return { text: result, toolTip: result };
111
+ }
112
+ };
104
113
  export var MultiLineTextFormatter = function (row, cell, value, columnDef, dataContext) {
105
114
  var txt = "";
106
115
  if (value != null) {
@@ -4115,7 +4115,7 @@ export function SlickGrid(container, data, columns, options) {
4115
4115
  navigateDown();
4116
4116
  }
4117
4117
  else {
4118
- commitEditAndSetFocus();
4118
+ commitEditAndNavDown();
4119
4119
  }
4120
4120
  }
4121
4121
  else {
@@ -4528,7 +4528,8 @@ export function SlickGrid(container, data, columns, options) {
4528
4528
  columnMetaData: columnMetaData,
4529
4529
  item: item || {},
4530
4530
  event: e,
4531
- commitChanges: commitEditAndSetFocus,
4531
+ commitChanges: commitEditAndNavDown,
4532
+ commitChangesOnly: commitEditAndSetFocus,
4532
4533
  cancelChanges: cancelEditAndSetFocus
4533
4534
  });
4534
4535
  if (item) {
@@ -4542,7 +4543,7 @@ export function SlickGrid(container, data, columns, options) {
4542
4543
  handleActiveCellPositionChange();
4543
4544
  }
4544
4545
  }
4545
- function commitEditAndSetFocus() {
4546
+ function commitEditAndNavDown() {
4546
4547
  // if the commit fails, it would do so due to a validation error
4547
4548
  // if so, do not steal the focus from the editor
4548
4549
  if (getEditorLock().commitCurrentEdit()) {
@@ -4552,6 +4553,13 @@ export function SlickGrid(container, data, columns, options) {
4552
4553
  }
4553
4554
  }
4554
4555
  }
4556
+ function commitEditAndSetFocus() {
4557
+ // if the commit fails, it would do so due to a validation error
4558
+ // if so, do not steal the focus from the editor
4559
+ if (getEditorLock().commitCurrentEdit()) {
4560
+ setFocus();
4561
+ }
4562
+ }
4555
4563
  function cancelEditAndSetFocus() {
4556
4564
  if (getEditorLock().cancelCurrentEdit()) {
4557
4565
  setFocus();
package/lib/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .slick-footerrow.ui-state-default,.slick-group-header.ui-state-default,.slick-header.ui-state-default,.slick-headerrow.ui-state-default,.slick-top-panel-scroller.ui-state-default{background:#fff;border-left:0!important;overflow:auto;position:relative;width:100%}.slick-header.ui-state-default{overflow:inherit}.slick-footerrow::-webkit-scrollbar,.slick-header::-webkit-scrollbar,.slick-headerrow::-webkit-scrollbar{display:none}.slick-footerrow-columns,.slick-group-header-columns,.slick-header-columns,.slick-headerrow-columns{cursor:default;overflow:hidden;position:relative;white-space:nowrap}.slick-group-header-column.ui-state-default,.slick-header-column.ui-state-default{border-bottom:0!important;border-left:0!important;border-right:1px solid silver;border-top:1px solid silver;box-sizing:content-box!important;float:left;height:20px;line-height:20px;margin:0;overflow:hidden;padding:4px;position:relative;-o-text-overflow:ellipsis;text-overflow:ellipsis}.slick-footerrow-column.ui-state-default{border:0;border-right:1px solid silver;float:left;line-height:20px;margin:0;padding:4px;-o-text-overflow:ellipsis;text-overflow:ellipsis;vertical-align:middle}.slick-footerrow-column.ui-state-default,.slick-headerrow-column.ui-state-default{padding:4px}.slick-header-column-sorted{font-style:italic}.slick-sort-indicator{float:left;height:5px;margin-left:4px;margin-top:6px;width:8px}.slick-sort-indicator-numbered{color:#6190cd;float:left;font-style:normal;font-weight:700;height:5px;line-height:20px;margin-left:4px;margin-top:0;width:8px}.slick-sortable-placeholder{background:silver}.grid-canvas{outline:0;position:relative}.slick-row.ui-state-active,.slick-row.ui-widget-content{border:0;position:absolute;width:100%}.slick-cell,.slick-footerrow-column,.slick-headerrow-column{border:1px solid transparent;border-right:1px dotted silver;cursor:default;margin:0;overflow:hidden;padding:1px 2px 2px 1px;position:absolute;-o-text-overflow:ellipsis;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;z-index:1}.slick-headerrow-column{border-bottom-color:silver}.slick-footerrow-column{border-top-color:silver}.slick-group-toggle{display:inline-block}.slick-cell.highlighted{background:#87cefa;background:rgba(0,0,255,.2);-webkit-transition:all .5s;-moz-transition:all .5s;-o-transition:all .5s;transition:all .5s}.slick-cell.flashing{border:1px solid red!important}.slick-cell.editable{overflow:visible;z-index:11}.slick-cell:focus{outline:none}.slick-reorder-proxy{background:blue;cursor:move;display:inline-block;filter:alpha(opacity = 15);opacity:.15}.slick-reorder-guide{background:blue;display:inline-block;filter:alpha(opacity = 70);height:2px;opacity:.7}.slick-selection{border:2px dashed #000;position:absolute;z-index:10}.slick-pane{outline:0;overflow:hidden;position:absolute;width:100%}.slick-pane-header{display:block}.slick-header,.slick-headerrow,.slick-top-panel-scroller{overflow:hidden;position:relative}.slick-top-panel{width:10000px}.slick-viewport{background:#fff;outline:0;position:relative;width:100%}.slick-wrap{white-space:normal}input.editor-text,textarea.editor-text{background:transparent;border:0;height:100%;margin:0;outline:0;padding:0;resize:none;width:100%}.slick-cell .jsl-container{bottom:0;left:0;position:absolute;right:0;top:0}.slick-cell .jsl-container .jsl-selected{padding:0}.slickgrid{border:1px solid #b0b0b0;border-radius:3px;box-sizing:border-box}.slick-col-ghost{box-sizing:content-box;pointer-events:none;position:absolute}.slick-ghost-content{background:rgba(200,200,200,.5);border:2px solid #bbb;left:0;position:absolute;right:0}.editor-text{font-size:100%}.slick-filtered-header{background:#e7e7e7;color:#3b99ff}.slick-preheader-panel .slick-column-name{float:none;text-align:center}.slick-header-column.resizable>.rs-r{background:none}.js-touch .slick-header-column>.slick-header-menubutton{display:inline-block}.js-touch .slick-header-column.resizable>.rs-r{background:rgba(0,0,0,.04);background:transparent;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAMNSURBVEhLxVY7i1NBGM3NwzyMINiIjSKoC9tIBEG02FgkIeSxpJBlS7sV1s5fIRZqYWFhtYssEggJ5IEaFxERYdXWam1EkQVh82Lz8pzJl3jvzb1JjK8DA/lOZuacO/PNN+Po9/tT29LSktuKt2vov4B2xeo/c3M6piASiawHg8G9eDweEmoi2A/936G9wNg1oW2h0YUdKB4IBO45nU5Ht9s9ACLFYnFb/h4DxT0ez2uXy3WIca/XczQajZuVSuW+6mABWwPRaPSa3+9/DHFNKEe73a7XarWj1Wq1I5QByWQyBwMpCRVoAubL4K9ns9nPQo9guQVW4pwIK7BuJ05AZK3T6exIqMDVAx8Fn89kMieEHmHMQCwWuwrxTbM4l7JcLj8SyhL8QrfbncRKbXGMHuBDMLFtNmHYAor7fL4KxF1CKWDCcj6fj0k4EyR/7uo/hICJXZi5PNyO0Qowgbxeb8ksjgEfuH8SzgwmXrPZXMFKGJIM4qeQE+/T6fRJxmoFwuHwcRybjxA6onoJzG7ngeQTt9TwYcin3Xq9fkZLJBLnEL+C02MQG/wLaJr2HYMWf0d8CJyON5jrooQK/HC0r1oqlarh3B4W/p/D+T/Fiaml+G9jZIB7guwctT8NzNnTz48E5/Het80BZOnbQqFgSJx5wMIDsWdI8AWhFCiOsn6WK7AIR3sD+icwIIQjlJFwLoh43iyOE9eFgWWU9S/OXC73CdwFmPg2+HsAnluc3yc8x0L9MiBymx8ioQLFW61WpFQqPWescoAmsA3nWXgYDwETGi8lllWhZgbfAphzVUIFVkVUx9WhOGG4C2TJXsL1aaEUMJCJs4lKeWuWwmRzm1J8BRfallAKY+8B3b6NvYDA74BPTjKBCy2OC61gEudtegP3wwOhRhirA5ycIrwBOVAPmgL/UEJLYJU2LMT5KhoTJywLEU3w+uVAvQn8ZvbekdASWKVlbNeBhNy68qQnmaWBITiQJiBK4Y4+e+3ANyP6XkLbR3s69SqXW2li4xN71mf2sKG/z4o3tr7jB/mDdb4DhXtsAAAAAElFTkSuQmCC");background-position:100%;background-repeat:no-repeat;background-size:.5em .3em;width:1.2rem}.js-touch .slick-header-menubutton.resize-offset{right:1.2rem;width:1.2rem}.slick-header-columns{border-bottom:2px solid silver}.slick-header-column{border-right:1px solid silver;font-weight:700;text-align:center}.slick-header-column-active,.slick-header-column:hover{background:#3b99ff;color:#fff}.slick-header-column>.slick-header-menubutton:hover{background-color:rgba(0,0,0,.3)}.slick-headerrow{background:#fafafa}.slick-headerrow-column{background:#fafafa;border-bottom:0;height:100%}.slick-row{background:#fff;border:0;line-height:26px;position:absolute}.slick-row.selected{background:#dfe8f6;z-index:10}.slick-cell{padding-left:4px;padding-right:4px}.slick-group{border-bottom:2px solid silver}.slick-group .slick-cell{background:#d4e4ec}.slick-group-toggle{height:9px;margin-right:5px;width:9px}.slick-group-toggle.expanded{background:url("data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIMwADCBxIUIDBgwIEChgwwECBAgQUFjBAkaJCABgxGlB4AGHCAAIQiBypEEECkScJqgwQEAA7") no-repeat 50%}.slick-group-toggle.collapsed{background:url("data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIOAADCBxIUIDBgwIEChgwAECBAgQUFjAAQIABAwoBaNSIMYCAAwIqGlSIAEHFkiQTIBCgkqDLAAEBADs=") no-repeat 50%}.slick-group-totals{background:#fff;color:gray}.slick-group-select-checkbox{display:inline-block;height:13px;margin:3px 10px 0 0;width:13px}.slick-cell.selected{background-color:#cde6f7}.slick-cell.active{border-color:#017dbe;border-style:solid}.slick-sortable-placeholder{background:silver!important}.slick-row.odd{background:#ededed}.slick-row.ui-state-active{background:#f5f7d7}.slick-row.loading{filter:alpha(opacity = 50);opacity:.5}.slick-cell.invalid{animation-duration:.2s;-moz-animation-duration:.2s;-webkit-animation-duration:.2s;animation-name:slickgrid-invalid-hilite;-moz-animation-name:slickgrid-invalid-hilite;-webkit-animation-name:slickgrid-invalid-hilite;border-color:red}@keyframes slickgrid-invalid-hilite{0%{box-shadow:0 0 6px red}to{box-shadow:none}}@-moz-keyframes slickgrid-invalid-hilite{0%{box-shadow:0 0 6px red}to{box-shadow:none}}@-webkit-keyframes slickgrid-invalid-hilite{0%{box-shadow:0 0 6px red}to{box-shadow:none}}.new-row .slick-cell{background:#3b99ff55;border-top:1px solid #aaa}.resizable{position:relative}.resizable>.rs-r{cursor:w-resize;top:0;width:.5rem}.resizable>.rs-b,.resizable>.rs-r{background:rgba(20,20,20,.2);bottom:0;box-sizing:border-box;position:absolute;right:0}.resizable>.rs-b{cursor:n-resize;height:.5rem;left:0}.resizable>.rs-r.rs-b{bottom:0;cursor:nw-resize;left:auto;right:0;top:auto}.slick-header-menubutton{background-image:url("data:image/gif;base64,R0lGODlhDgAOAIABADtKYwAAACH5BAEAAAEALAAAAAAOAA4AAAISjI+py+0PHZgUsGobhTn6DxoFADs=");background-position:0;background-repeat:no-repeat;border-left:thin ridge silver;bottom:0;cursor:pointer;display:none;position:absolute;right:0;top:0;width:14px}.slick-header-menubutton.resize-offset{right:.5rem}.slick-header-column-active .slick-header-menubutton,.slick-header-column:hover>.slick-header-menubutton,.slick-header-menu{display:inline-block}.slick-header-menu{cursor:default;margin:0;position:absolute}.slick-header-menuitem{cursor:pointer;list-style:none;margin:0;padding:0}.slick-header-menuicon{background-position:50%;background-repeat:no-repeat;height:16px;margin-right:4px;width:16px}.slick-header-menucontent,.slick-header-menuicon{display:inline-block;vertical-align:middle}.slick-header-menuitem-disabled{color:silver}.slick-header-menuitem.slick-header-menuitem-divider{background-color:#cecece;border:none;cursor:default;height:1px;margin:8px 2px;overflow:hidden;padding:0}.slick-header-menuitem-divider.slick-header-menuitem:hover{background-color:#cecece}.slick-header-menu{background:#fff;border:1px solid #bebebe;box-shadow:2px 2px 2px silver;padding:2px;z-index:20}.slick-header-menuitem{border-radius:3px;padding:2px 4px}.slick-header-menuitem:hover{background:#3b99ff;color:#fff}.slick-header-menuitem-disabled{background:inherit!important;border-color:transparent!important}.slick-column-name,.slick-sort-indicator{display:inline-block;float:left;margin-bottom:100px}.slick-header-button{background-position:50%;background-repeat:no-repeat;cursor:pointer;display:inline-block;float:right;height:15px;margin:1px 2rem 100px 1px;vertical-align:top;width:15px}.slick-header-button-hidden{-webkit-transition:width .2s;-ms-transition:width .2s;transition:width .2s;width:0}.slick-header-column:hover>.slick-header-button{width:15px}.jsl-dialog{background:#fff;border:2px solid #ddd;border-radius:.8rem;left:50%;pointer-events:all;position:relative;top:50%;transform:translate(-50%,-50%);z-index:2002}.dlg-close-btn{background:#d8d8d8;border-top-right-radius:.8rem;bottom:0;box-sizing:border-box;color:#555;cursor:pointer;font-size:2rem;font-weight:700;line-height:2.8rem;position:absolute;right:0;top:0;width:2.5rem}.dlg-close-btn:hover{background:#b22121;color:#fff}.jsl-dialog-overlay{background:rgba(0,0,0,.8);bottom:0;height:100vh;left:0;position:fixed;right:0;top:0;z-index:2001}.jsl-dialog>.dlg-header{background:#f8f8f8;border-bottom:1px solid #ededed;border-top-left-radius:.8rem;border-top-right-radius:.8rem;box-sizing:content-box;font-size:1.5rem;height:2rem;padding:.6rem;position:relative;text-align:center}.jsl-dialog>.dlg-body{box-sizing:border-box;margin-bottom:3rem;overflow:auto;padding:1rem}.jsl-dialog>.dlg-footer{background:#f8f8f8;border-bottom-left-radius:.8rem;border-bottom-right-radius:.8rem;border-top:1px solid #ededed;bottom:0;box-sizing:border-box;height:3rem;left:0;padding:.5rem;position:absolute;right:0;text-align:right}.jsl-dialog>.dlg-footer button{margin-left:1rem}.v-r-comp,.v-r-comp .v-r-child>*{height:100%}.slick-cell .jsl-toggle{box-sizing:border-box;color:#888;cursor:pointer;display:inline-block;height:100%;width:1.2em}.slick-cell .jsl-toggle-spacer{box-sizing:border-box;display:inline-block;min-width:1.2em}.slick-cell .jsl-indent{display:inline-block;position:relative}
1
+ .slick-footerrow.ui-state-default,.slick-group-header.ui-state-default,.slick-header.ui-state-default,.slick-headerrow.ui-state-default,.slick-top-panel-scroller.ui-state-default{background:#fff;border-left:0!important;overflow:auto;position:relative;width:100%}.slick-header.ui-state-default{overflow:inherit}.slick-footerrow::-webkit-scrollbar,.slick-header::-webkit-scrollbar,.slick-headerrow::-webkit-scrollbar{display:none}.slick-footerrow-columns,.slick-group-header-columns,.slick-header-columns,.slick-headerrow-columns{cursor:default;overflow:hidden;position:relative;white-space:nowrap}.slick-group-header-column.ui-state-default,.slick-header-column.ui-state-default{border-bottom:0!important;border-left:0!important;border-right:1px solid silver;border-top:1px solid silver;box-sizing:content-box!important;float:left;height:20px;line-height:20px;margin:0;overflow:hidden;padding:4px;position:relative;-o-text-overflow:ellipsis;text-overflow:ellipsis}.slick-footerrow-column.ui-state-default{border:0;border-right:1px solid silver;float:left;line-height:20px;margin:0;padding:4px;-o-text-overflow:ellipsis;text-overflow:ellipsis;vertical-align:middle}.slick-footerrow-column.ui-state-default,.slick-headerrow-column.ui-state-default{padding:4px}.slick-header-column-sorted{font-style:italic}.slick-sort-indicator{float:left;height:5px;margin-left:4px;margin-top:6px;width:8px}.slick-sort-indicator-numbered{color:#6190cd;float:left;font-style:normal;font-weight:700;height:5px;line-height:20px;margin-left:4px;margin-top:0;width:8px}.slick-sortable-placeholder{background:silver}.grid-canvas{outline:0;position:relative}.slick-row.ui-state-active,.slick-row.ui-widget-content{border:0;position:absolute;width:100%}.slick-cell,.slick-footerrow-column,.slick-headerrow-column{border:1px solid transparent;border-right:1px dotted silver;cursor:default;margin:0;overflow:hidden;padding:1px 2px 2px 1px;position:absolute;-o-text-overflow:ellipsis;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;z-index:1}.slick-headerrow-column{border-bottom-color:silver}.slick-footerrow-column{border-top-color:silver}.slick-group-toggle{display:inline-block}.slick-cell.highlighted{background:#87cefa;background:rgba(0,0,255,.2);-webkit-transition:all .5s;-moz-transition:all .5s;-o-transition:all .5s;transition:all .5s}.slick-cell.flashing{border:1px solid red!important}.slick-cell.editable{overflow:visible;z-index:11}.slick-cell:focus{outline:none}.slick-reorder-proxy{background:blue;cursor:move;display:inline-block;filter:alpha(opacity = 15);opacity:.15}.slick-reorder-guide{background:blue;display:inline-block;filter:alpha(opacity = 70);height:2px;opacity:.7}.slick-selection{border:2px dashed #000;position:absolute;z-index:10}.slick-pane{outline:0;overflow:hidden;position:absolute;width:100%}.slick-pane-header{display:block}.slick-header,.slick-headerrow,.slick-top-panel-scroller{overflow:hidden;position:relative}.slick-top-panel{width:10000px}.slick-viewport{background:#fff;outline:0;position:relative;width:100%}.slick-wrap{white-space:normal}input.editor-text,textarea.editor-text{background:transparent;border:0;height:100%;margin:0;outline:0;padding:0;resize:none;width:100%}.slick-cell .jsl-container{bottom:0;left:0;position:absolute;right:0;top:0}.slick-cell .jsl-container .jsl-selected{padding:0}.slickgrid{border:1px solid #b0b0b0;border-radius:3px;box-sizing:border-box}.slick-col-ghost{box-sizing:content-box;pointer-events:none;position:absolute}.slick-ghost-content{background:rgba(200,200,200,.5);border:2px solid #bbb;left:0;position:absolute;right:0}.editor-text{font-size:100%}.slick-filtered-header{background:#e7e7e7;color:#3b99ff}.slick-preheader-panel .slick-column-name{float:none;text-align:center}.slick-header-column.resizable>.rs-r{background:none}.js-touch .slick-header-column>.slick-header-menubutton{display:inline-block}.js-touch .slick-header-column.resizable>.rs-r{background:rgba(0,0,0,.04);background:transparent;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAMNSURBVEhLxVY7i1NBGM3NwzyMINiIjSKoC9tIBEG02FgkIeSxpJBlS7sV1s5fIRZqYWFhtYssEggJ5IEaFxERYdXWam1EkQVh82Lz8pzJl3jvzb1JjK8DA/lOZuacO/PNN+Po9/tT29LSktuKt2vov4B2xeo/c3M6piASiawHg8G9eDweEmoi2A/936G9wNg1oW2h0YUdKB4IBO45nU5Ht9s9ACLFYnFb/h4DxT0ez2uXy3WIca/XczQajZuVSuW+6mABWwPRaPSa3+9/DHFNKEe73a7XarWj1Wq1I5QByWQyBwMpCRVoAubL4K9ns9nPQo9guQVW4pwIK7BuJ05AZK3T6exIqMDVAx8Fn89kMieEHmHMQCwWuwrxTbM4l7JcLj8SyhL8QrfbncRKbXGMHuBDMLFtNmHYAor7fL4KxF1CKWDCcj6fj0k4EyR/7uo/hICJXZi5PNyO0Qowgbxeb8ksjgEfuH8SzgwmXrPZXMFKGJIM4qeQE+/T6fRJxmoFwuHwcRybjxA6onoJzG7ngeQTt9TwYcin3Xq9fkZLJBLnEL+C02MQG/wLaJr2HYMWf0d8CJyON5jrooQK/HC0r1oqlarh3B4W/p/D+T/Fiaml+G9jZIB7guwctT8NzNnTz48E5/Het80BZOnbQqFgSJx5wMIDsWdI8AWhFCiOsn6WK7AIR3sD+icwIIQjlJFwLoh43iyOE9eFgWWU9S/OXC73CdwFmPg2+HsAnluc3yc8x0L9MiBymx8ioQLFW61WpFQqPWescoAmsA3nWXgYDwETGi8lllWhZgbfAphzVUIFVkVUx9WhOGG4C2TJXsL1aaEUMJCJs4lKeWuWwmRzm1J8BRfallAKY+8B3b6NvYDA74BPTjKBCy2OC61gEudtegP3wwOhRhirA5ycIrwBOVAPmgL/UEJLYJU2LMT5KhoTJywLEU3w+uVAvQn8ZvbekdASWKVlbNeBhNy68qQnmaWBITiQJiBK4Y4+e+3ANyP6XkLbR3s69SqXW2li4xN71mf2sKG/z4o3tr7jB/mDdb4DhXtsAAAAAElFTkSuQmCC");background-position:100%;background-repeat:no-repeat;background-size:.5em .3em;width:1.2rem}.js-touch .slick-header-menubutton.resize-offset{right:1.2rem;width:1.2rem}.slick-header-columns{border-bottom:2px solid silver}.slick-header-column{border-right:1px solid silver;font-weight:700;text-align:center}.slick-header-column-active,.slick-header-column:hover{background:#3b99ff;color:#fff}.slick-header-column>.slick-header-menubutton:hover{background-color:rgba(0,0,0,.3)}.slick-headerrow{background:#fafafa}.slick-headerrow-column{background:#fafafa;border-bottom:0;height:100%}.slick-row{background:#fff;border:0;line-height:26px;position:absolute}.slick-row.selected{background:#dfe8f6;z-index:10}.slick-cell{padding-left:4px;padding-right:4px}.slick-group{border-bottom:2px solid silver}.slick-group .slick-cell{background:#d4e4ec}.slick-group-toggle{height:9px;margin-right:5px;width:9px}.slick-group-toggle.expanded{background:url("data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIMwADCBxIUIDBgwIEChgwwECBAgQUFjBAkaJCABgxGlB4AGHCAAIQiBypEEECkScJqgwQEAA7") no-repeat 50%}.slick-group-toggle.collapsed{background:url("data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIOAADCBxIUIDBgwIEChgwAECBAgQUFjAAQIABAwoBaNSIMYCAAwIqGlSIAEHFkiQTIBCgkqDLAAEBADs=") no-repeat 50%}.slick-group-totals{background:#fff;color:gray}.slick-group-select-checkbox{display:inline-block;height:13px;margin:3px 10px 0 0;width:13px}.slick-cell.selected{background-color:#cde6f7}.slick-cell.active{border-color:#017dbe;border-style:solid}.slick-sortable-placeholder{background:silver!important}.slick-row.odd{background:#ededed}.slick-row.ui-state-active{background:#f5f7d7}.slick-row.loading{filter:alpha(opacity = 50);opacity:.5}.slick-cell.invalid{animation-duration:.2s;-moz-animation-duration:.2s;-webkit-animation-duration:.2s;animation-name:slickgrid-invalid-hilite;-moz-animation-name:slickgrid-invalid-hilite;-webkit-animation-name:slickgrid-invalid-hilite;border-color:red}@keyframes slickgrid-invalid-hilite{0%{box-shadow:0 0 6px red}to{box-shadow:none}}@-moz-keyframes slickgrid-invalid-hilite{0%{box-shadow:0 0 6px red}to{box-shadow:none}}@-webkit-keyframes slickgrid-invalid-hilite{0%{box-shadow:0 0 6px red}to{box-shadow:none}}.new-row .slick-cell{background:#3b99ff55;border-top:1px solid #aaa}.resizable{position:relative}.resizable>.rs-r{cursor:w-resize;top:0;width:.5rem}.resizable>.rs-b,.resizable>.rs-r{background:rgba(20,20,20,.2);bottom:0;box-sizing:border-box;position:absolute;right:0}.resizable>.rs-b{cursor:n-resize;height:.5rem;left:0}.resizable>.rs-r.rs-b{bottom:0;cursor:nw-resize;left:auto;right:0;top:auto}.slick-header-menubutton{background-image:url("data:image/gif;base64,R0lGODlhDgAOAIABADtKYwAAACH5BAEAAAEALAAAAAAOAA4AAAISjI+py+0PHZgUsGobhTn6DxoFADs=");background-position:0;background-repeat:no-repeat;border-left:thin ridge silver;bottom:0;cursor:pointer;display:none;position:absolute;right:0;top:0;width:14px}.slick-header-menubutton.resize-offset{right:.5rem}.slick-header-column-active .slick-header-menubutton,.slick-header-column:hover>.slick-header-menubutton,.slick-header-menu{display:inline-block}.slick-header-menu{cursor:default;margin:0;position:absolute}.slick-header-menuitem{cursor:pointer;list-style:none;margin:0;padding:0}.slick-header-menuicon{background-position:50%;background-repeat:no-repeat;height:16px;margin-right:4px;width:16px}.slick-header-menucontent,.slick-header-menuicon{display:inline-block;vertical-align:middle}.slick-header-menuitem-disabled{color:silver}.slick-header-menuitem.slick-header-menuitem-divider{background-color:#cecece;border:none;cursor:default;height:1px;margin:8px 2px;overflow:hidden;padding:0}.slick-header-menuitem-divider.slick-header-menuitem:hover{background-color:#cecece}.slick-header-menu{background:#fff;border:1px solid #bebebe;box-shadow:2px 2px 2px silver;padding:2px;z-index:20}.slick-header-menuitem{border-radius:3px;padding:2px 4px}.slick-header-menuitem:hover{background:#3b99ff;color:#fff}.slick-header-menuitem-disabled{background:inherit!important;border-color:transparent!important}.slick-column-name,.slick-sort-indicator{display:inline-block;float:left;margin-bottom:100px}.slick-header-button{background-position:50%;background-repeat:no-repeat;cursor:pointer;display:inline-block;float:right;height:15px;margin:1px 2rem 100px 1px;vertical-align:top;width:15px}.slick-header-button-hidden{-webkit-transition:width .2s;-ms-transition:width .2s;transition:width .2s;width:0}.slick-header-column:hover>.slick-header-button{width:15px}.jsl-dialog{background:#fff;border:2px solid #ddd;border-radius:.8rem;left:50%;pointer-events:all;position:relative;top:50%;transform:translate(-50%,-50%);z-index:2002}.dlg-close-btn{background:#d8d8d8;border-top-right-radius:.8rem;bottom:0;box-sizing:border-box;color:#555;cursor:pointer;font-size:2rem;font-weight:700;line-height:2.8rem;position:absolute;right:0;top:0;width:2.5rem}.dlg-close-btn:hover{background:#b22121;color:#fff}.jsl-dialog-overlay{background:rgba(0,0,0,.8);bottom:0;height:100vh;left:0;position:fixed;right:0;top:0;z-index:2001}.jsl-dialog>.dlg-header{background:#f8f8f8;border-bottom:1px solid #ededed;border-top-left-radius:.8rem;border-top-right-radius:.8rem;box-sizing:content-box;font-size:1.5rem;height:2rem;padding:.6rem;position:relative;text-align:center}.jsl-dialog>.dlg-body{box-sizing:border-box;margin-bottom:3rem;overflow:auto;padding:1rem}.jsl-dialog>.dlg-footer{background:#f8f8f8;border-bottom-left-radius:.8rem;border-bottom-right-radius:.8rem;border-top:1px solid #ededed;bottom:0;box-sizing:border-box;height:3rem;left:0;padding:.5rem;position:absolute;right:0;text-align:right}.jsl-dialog>.dlg-footer button{margin-left:1rem}.jsl-dialog .slickgrid{border-radius:0}.v-r-comp,.v-r-comp .v-r-child>*{height:100%}.slick-cell .jsl-toggle{box-sizing:border-box;color:#888;cursor:pointer;display:inline-block;height:100%;width:1.2em}.slick-cell .jsl-toggle-spacer{box-sizing:border-box;display:inline-block;min-width:1.2em}.slick-cell .jsl-indent{display:inline-block;position:relative}
2
2
  /*# sourceMappingURL=index.css.map */