x4js 1.4.6 → 1.4.9
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.
- package/README.md +4 -0
- package/build.sh +5 -0
- package/lib/application.d.ts +15 -11
- package/lib/application.js +16 -11
- package/lib/base64.d.ts +15 -11
- package/lib/base64.js +15 -11
- package/lib/base_component.d.ts +18 -1
- package/lib/base_component.js +18 -1
- package/lib/button.d.ts +15 -11
- package/lib/button.js +15 -11
- package/lib/calendar.d.ts +15 -11
- package/lib/calendar.js +15 -11
- package/lib/canvas.d.ts +15 -11
- package/lib/canvas.js +15 -11
- package/lib/cardview.d.ts +15 -11
- package/lib/cardview.js +15 -11
- package/lib/checkbox.d.ts +17 -12
- package/lib/checkbox.js +18 -11
- package/lib/color.d.ts +15 -11
- package/lib/color.js +15 -11
- package/lib/colorpicker.d.ts +18 -11
- package/lib/colorpicker.js +18 -11
- package/lib/combobox.d.ts +15 -11
- package/lib/combobox.js +16 -12
- package/lib/component.d.ts +18 -14
- package/lib/component.js +18 -14
- package/lib/datastore.d.ts +15 -11
- package/lib/datastore.js +15 -11
- package/lib/dialog.d.ts +15 -11
- package/lib/dialog.js +19 -14
- package/lib/dom_events.d.ts +17 -1
- package/lib/dom_events.js +17 -1
- package/lib/drag_manager.d.ts +28 -0
- package/lib/drawtext.d.ts +15 -11
- package/lib/drawtext.js +15 -11
- package/lib/fileupload.d.ts +15 -11
- package/lib/fileupload.js +15 -11
- package/lib/form.d.ts +15 -11
- package/lib/form.js +15 -11
- package/lib/formatters.d.ts +15 -11
- package/lib/formatters.js +15 -11
- package/lib/gridview.d.ts +15 -11
- package/lib/gridview.js +59 -29
- package/lib/i18n.d.ts +15 -11
- package/lib/i18n.js +15 -11
- package/lib/icon.d.ts +20 -12
- package/lib/icon.js +107 -25
- package/lib/image.d.ts +15 -11
- package/lib/image.js +15 -11
- package/lib/index.d.ts +28 -0
- package/lib/index.js +28 -0
- package/lib/input.d.ts +15 -11
- package/lib/input.js +15 -11
- package/lib/label.d.ts +15 -11
- package/lib/label.js +15 -11
- package/lib/layout.d.ts +21 -17
- package/lib/layout.js +21 -17
- package/lib/link.d.ts +15 -11
- package/lib/link.js +15 -11
- package/lib/listview.d.ts +15 -11
- package/lib/listview.js +15 -11
- package/lib/md5.d.ts +15 -10
- package/lib/md5.js +15 -10
- package/lib/menu.d.ts +15 -11
- package/lib/menu.js +19 -12
- package/lib/messagebox.d.ts +15 -11
- package/lib/messagebox.js +17 -13
- package/lib/panel.d.ts +15 -11
- package/lib/panel.js +15 -11
- package/lib/popup.d.ts +15 -11
- package/lib/popup.js +15 -11
- package/lib/property_editor.d.ts +15 -11
- package/lib/property_editor.js +15 -11
- package/lib/radiobtn.d.ts +15 -11
- package/lib/radiobtn.js +15 -11
- package/lib/rating.d.ts +15 -11
- package/lib/rating.js +15 -11
- package/lib/request.d.ts +15 -11
- package/lib/request.js +15 -11
- package/lib/router.d.ts +28 -0
- package/lib/router.js +28 -0
- package/lib/settings.d.ts +15 -11
- package/lib/settings.js +15 -11
- package/lib/sidebarview.d.ts +15 -11
- package/lib/sidebarview.js +15 -11
- package/lib/smartedit.d.ts +15 -11
- package/lib/smartedit.js +15 -11
- package/lib/spreadsheet.d.ts +15 -11
- package/lib/spreadsheet.js +15 -11
- package/lib/styles.d.ts +16 -12
- package/lib/styles.js +21 -14
- package/lib/svgcomponent.d.ts +15 -11
- package/lib/svgcomponent.js +15 -11
- package/lib/tabbar.d.ts +17 -2
- package/lib/tabbar.js +17 -2
- package/lib/tabview.d.ts +15 -11
- package/lib/tabview.js +15 -11
- package/lib/textarea.d.ts +15 -11
- package/lib/textarea.js +15 -11
- package/lib/textedit.d.ts +15 -11
- package/lib/textedit.js +15 -11
- package/lib/texthiliter.d.ts +15 -11
- package/lib/texthiliter.js +15 -11
- package/lib/toaster.d.ts +15 -11
- package/lib/toaster.js +15 -11
- package/lib/tools.d.ts +15 -11
- package/lib/tools.js +15 -11
- package/lib/tooltips.d.ts +15 -11
- package/lib/tooltips.js +15 -11
- package/lib/treeview.d.ts +15 -11
- package/lib/treeview.js +15 -11
- package/lib/x4.css +1572 -0
- package/lib/x4_events.d.ts +15 -11
- package/lib/x4_events.js +15 -11
- package/package.json +5 -1
- package/src/MIT-license.md +14 -0
- package/src/application.ts +16 -11
- package/src/base64.ts +15 -11
- package/src/base_component.ts +18 -1
- package/src/button.ts +15 -11
- package/src/calendar.ts +15 -11
- package/src/canvas.ts +15 -11
- package/src/cardview.ts +15 -11
- package/src/checkbox.ts +21 -12
- package/src/color.ts +15 -11
- package/src/colorpicker.ts +19 -11
- package/src/combobox.ts +16 -12
- package/src/component.ts +18 -14
- package/src/datastore.ts +15 -11
- package/src/dialog.ts +19 -14
- package/src/dom_events.ts +17 -1
- package/src/drag_manager.ts +28 -0
- package/src/drawtext.ts +15 -11
- package/src/fileupload.ts +15 -11
- package/src/form.ts +15 -11
- package/src/formatters.ts +15 -11
- package/src/gridview.ts +76 -30
- package/src/i18n.ts +15 -11
- package/src/icon.ts +125 -33
- package/src/image.ts +15 -11
- package/src/index.ts +29 -0
- package/src/input.ts +15 -11
- package/src/label.ts +15 -11
- package/src/layout.ts +21 -17
- package/src/link.ts +15 -11
- package/src/listview.ts +15 -11
- package/src/md5.ts +15 -10
- package/src/menu.ts +19 -12
- package/src/messagebox.ts +17 -13
- package/src/panel.ts +15 -11
- package/src/popup.ts +15 -11
- package/src/property_editor.ts +15 -11
- package/src/radiobtn.ts +15 -11
- package/src/rating.ts +15 -11
- package/src/request.ts +15 -11
- package/src/router.ts +28 -0
- package/src/settings.ts +15 -11
- package/src/sidebarview.ts +15 -11
- package/src/smartedit.ts +15 -11
- package/src/spreadsheet.ts +15 -11
- package/src/styles.ts +23 -14
- package/src/svgcomponent.ts +15 -11
- package/src/tabbar.ts +17 -2
- package/src/tabview.ts +15 -11
- package/src/textarea.ts +15 -11
- package/src/textedit.ts +15 -11
- package/src/texthiliter.ts +15 -11
- package/src/toaster.ts +15 -11
- package/src/tools.ts +15 -11
- package/src/tooltips.ts +15 -11
- package/src/treeview.ts +15 -11
- package/src/x4.less +232 -168
- package/src/x4_events.ts +15 -11
- package/x4.css +1572 -0
- package/src/README.md +0 -2
package/src/datastore.ts
CHANGED
|
@@ -7,20 +7,24 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @file datastore.ts
|
|
9
9
|
* @author Etienne Cochard
|
|
10
|
-
* @license
|
|
11
|
-
* Copyright (c) 2019-2021 R-libre ingenierie
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation; either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
11
|
+
* Copyright (c) 2019-2022 R-libre ingenierie
|
|
17
12
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
13
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
15
|
+
* in the Software without restriction, including without limitation the rights
|
|
16
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
17
|
+
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
18
|
+
* subject to the following conditions:
|
|
19
|
+
* The above copyright notice and this permission notice shall be included in all copies
|
|
20
|
+
* or substantial portions of the Software.
|
|
22
21
|
*
|
|
23
|
-
*
|
|
22
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
23
|
+
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
24
|
+
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
25
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
26
|
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
27
|
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
24
28
|
**/
|
|
25
29
|
|
|
26
30
|
import { ajaxRequest } from './request';
|
package/src/dialog.ts
CHANGED
|
@@ -7,20 +7,24 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @file dialog.ts
|
|
9
9
|
* @author Etienne Cochard
|
|
10
|
-
* @license
|
|
11
|
-
* Copyright (c) 2019-2021 R-libre ingenierie
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation; either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
11
|
+
* Copyright (c) 2019-2022 R-libre ingenierie
|
|
17
12
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
13
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
15
|
+
* in the Software without restriction, including without limitation the rights
|
|
16
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
17
|
+
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
18
|
+
* subject to the following conditions:
|
|
19
|
+
* The above copyright notice and this permission notice shall be included in all copies
|
|
20
|
+
* or substantial portions of the Software.
|
|
22
21
|
*
|
|
23
|
-
*
|
|
22
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
23
|
+
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
24
|
+
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
25
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
26
|
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
27
|
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
24
28
|
**/
|
|
25
29
|
|
|
26
30
|
import { Popup, PopupProps, PopupEventMap, EvMove } from './popup'
|
|
@@ -336,9 +340,10 @@ export class Dialog<P extends DialogProps = DialogProps, E extends DialogBoxEven
|
|
|
336
340
|
content: [
|
|
337
341
|
this.m_icon ? new Icon({ icon: this.m_icon }) : null,
|
|
338
342
|
this.m_ui_title = new Label({ flex: 1, text: this.m_title }),
|
|
339
|
-
this.m_minimizable ? new Icon({ cls: 'min-btn', icon: '
|
|
340
|
-
this.m_maximizable ? new Icon({ cls: 'max-btn', icon: '
|
|
341
|
-
this.
|
|
343
|
+
this.m_minimizable ? new Icon({ cls: 'min-btn', icon: 'var( --x4-icon-window-minimize )', dom_events: { click: () => this._toggleMin() } }) : null,
|
|
344
|
+
this.m_maximizable ? new Icon({ cls: 'max-btn', icon: 'var( --x4-icon-window-maximize )', dom_events: { click: () => this._toggleMax() } }) : null,
|
|
345
|
+
this.m_maximizable ? new Icon({ cls: 'res-btn', icon: 'var( --x4-icon-window-restore )', dom_events: { click: () => this._toggleMax() } }) : null,
|
|
346
|
+
this.m_closable ? new Icon({ cls: 'close-btn', icon: 'var( --x4-icon-rectangle-times )', dom_events: { click: () => this.close() } }) : null,
|
|
342
347
|
]
|
|
343
348
|
});
|
|
344
349
|
|
package/src/dom_events.ts
CHANGED
|
@@ -7,8 +7,24 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @file dom_events.ts
|
|
9
9
|
* @author Etienne Cochard
|
|
10
|
-
* @copyright (c) 2022 R-libre ingenierie, all rights reserved.
|
|
11
10
|
*
|
|
11
|
+
* Copyright (c) 2019-2022 R-libre ingenierie
|
|
12
|
+
*
|
|
13
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
15
|
+
* in the Software without restriction, including without limitation the rights
|
|
16
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
17
|
+
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
18
|
+
* subject to the following conditions:
|
|
19
|
+
* The above copyright notice and this permission notice shall be included in all copies
|
|
20
|
+
* or substantial portions of the Software.
|
|
21
|
+
*
|
|
22
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
23
|
+
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
24
|
+
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
25
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
26
|
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
27
|
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
12
28
|
**/
|
|
13
29
|
|
|
14
30
|
export interface X4ElementEventMap extends HTMLElementEventMap {
|
package/src/drag_manager.ts
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ___ ___ __
|
|
3
|
+
* \ \_/ / / _
|
|
4
|
+
* \ / /_| |_
|
|
5
|
+
* / _ \____ _|
|
|
6
|
+
* /__/ \__\ |_|
|
|
7
|
+
*
|
|
8
|
+
* @file drag_manager.ts
|
|
9
|
+
* @author Etienne Cochard
|
|
10
|
+
*
|
|
11
|
+
* Copyright (c) 2019-2022 R-libre ingenierie
|
|
12
|
+
*
|
|
13
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
15
|
+
* in the Software without restriction, including without limitation the rights
|
|
16
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
17
|
+
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
18
|
+
* subject to the following conditions:
|
|
19
|
+
* The above copyright notice and this permission notice shall be included in all copies
|
|
20
|
+
* or substantial portions of the Software.
|
|
21
|
+
*
|
|
22
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
23
|
+
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
24
|
+
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
25
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
26
|
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
27
|
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
28
|
+
**/
|
|
1
29
|
import { Component } from './component';
|
|
2
30
|
import { Point } from './tools';
|
|
3
31
|
|
package/src/drawtext.ts
CHANGED
|
@@ -7,20 +7,24 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @file drawtext.ts
|
|
9
9
|
* @author Etienne Cochard
|
|
10
|
-
* @license
|
|
11
|
-
* Copyright (c) 2019-2021 R-libre ingenierie
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation; either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
11
|
+
* Copyright (c) 2019-2022 R-libre ingenierie
|
|
17
12
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
13
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
15
|
+
* in the Software without restriction, including without limitation the rights
|
|
16
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
17
|
+
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
18
|
+
* subject to the following conditions:
|
|
19
|
+
* The above copyright notice and this permission notice shall be included in all copies
|
|
20
|
+
* or substantial portions of the Software.
|
|
22
21
|
*
|
|
23
|
-
*
|
|
22
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
23
|
+
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
24
|
+
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
25
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
26
|
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
27
|
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
24
28
|
**/
|
|
25
29
|
|
|
26
30
|
import { deferCall, Point, Rect, roundTo } from './tools'
|
package/src/fileupload.ts
CHANGED
|
@@ -7,20 +7,24 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @file fileupload.ts
|
|
9
9
|
* @author Etienne Cochard
|
|
10
|
-
* @license
|
|
11
|
-
* Copyright (c) 2019-2021 R-libre ingenierie
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation; either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
11
|
+
* Copyright (c) 2019-2022 R-libre ingenierie
|
|
17
12
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
13
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
15
|
+
* in the Software without restriction, including without limitation the rights
|
|
16
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
17
|
+
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
18
|
+
* subject to the following conditions:
|
|
19
|
+
* The above copyright notice and this permission notice shall be included in all copies
|
|
20
|
+
* or substantial portions of the Software.
|
|
22
21
|
*
|
|
23
|
-
*
|
|
22
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
23
|
+
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
24
|
+
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
25
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
26
|
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
27
|
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
24
28
|
**/
|
|
25
29
|
|
|
26
30
|
import { Component, CProps } from './component'
|
package/src/form.ts
CHANGED
|
@@ -7,20 +7,24 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @file form.ts
|
|
9
9
|
* @author Etienne Cochard
|
|
10
|
-
* @license
|
|
11
|
-
* Copyright (c) 2019-2021 R-libre ingenierie
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation; either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
11
|
+
* Copyright (c) 2019-2022 R-libre ingenierie
|
|
17
12
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
13
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
15
|
+
* in the Software without restriction, including without limitation the rights
|
|
16
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
17
|
+
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
18
|
+
* subject to the following conditions:
|
|
19
|
+
* The above copyright notice and this permission notice shall be included in all copies
|
|
20
|
+
* or substantial portions of the Software.
|
|
22
21
|
*
|
|
23
|
-
*
|
|
22
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
23
|
+
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
24
|
+
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
25
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
26
|
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
27
|
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
24
28
|
**/
|
|
25
29
|
|
|
26
30
|
import { Component, Container, CProps, ContainerEventMap, ComponentContent, flyWrap } from './component'
|
package/src/formatters.ts
CHANGED
|
@@ -7,20 +7,24 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @file formatters.ts
|
|
9
9
|
* @author Etienne Cochard
|
|
10
|
-
* @license
|
|
11
|
-
* Copyright (c) 2019-2021 R-libre ingenierie
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation; either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
11
|
+
* Copyright (c) 2019-2022 R-libre ingenierie
|
|
17
12
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
13
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
15
|
+
* in the Software without restriction, including without limitation the rights
|
|
16
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
17
|
+
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
18
|
+
* subject to the following conditions:
|
|
19
|
+
* The above copyright notice and this permission notice shall be included in all copies
|
|
20
|
+
* or substantial portions of the Software.
|
|
22
21
|
*
|
|
23
|
-
*
|
|
22
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
23
|
+
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
24
|
+
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
25
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
26
|
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
27
|
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
24
28
|
**/
|
|
25
29
|
|
|
26
30
|
import { formatIntlDate, roundTo } from './tools'
|
package/src/gridview.ts
CHANGED
|
@@ -7,20 +7,24 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @file gridview.ts
|
|
9
9
|
* @author Etienne Cochard
|
|
10
|
-
* @license
|
|
11
|
-
* Copyright (c) 2019-2021 R-libre ingenierie
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation; either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
11
|
+
* Copyright (c) 2019-2022 R-libre ingenierie
|
|
17
12
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
13
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
15
|
+
* in the Software without restriction, including without limitation the rights
|
|
16
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
17
|
+
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
18
|
+
* subject to the following conditions:
|
|
19
|
+
* The above copyright notice and this permission notice shall be included in all copies
|
|
20
|
+
* or substantial portions of the Software.
|
|
22
21
|
*
|
|
23
|
-
*
|
|
22
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
23
|
+
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
24
|
+
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
25
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
26
|
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
27
|
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
24
28
|
**/
|
|
25
29
|
|
|
26
30
|
const T_UPDATE = Symbol('update');
|
|
@@ -40,6 +44,7 @@ import { downloadData } from './tools'
|
|
|
40
44
|
import { DataView, DataStore, Record } from './datastore'
|
|
41
45
|
|
|
42
46
|
import { EvContextMenu, EvSelectionChange, BasicEvent, EventDisposer } from "./x4_events";
|
|
47
|
+
import { Icon } from './icon.js';
|
|
43
48
|
|
|
44
49
|
export interface EvGridCheck extends BasicEvent {
|
|
45
50
|
rec: Record;
|
|
@@ -70,6 +75,12 @@ export interface GridColumn {
|
|
|
70
75
|
sortable?: boolean;
|
|
71
76
|
}
|
|
72
77
|
|
|
78
|
+
interface GridColumnInternal extends GridColumn {
|
|
79
|
+
$col: ColHeader;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
73
84
|
export type CellRenderer = (rec: Record) => Component;
|
|
74
85
|
export type RowClassifier = (rec: Record, Row: Component) => void;
|
|
75
86
|
export type ContextMenuGridItem = (event: MouseEvent, item: Record, grid: GridView) => any;
|
|
@@ -93,6 +104,52 @@ export interface GridViewProps extends CProps<GridViewEventMap> {
|
|
|
93
104
|
}
|
|
94
105
|
|
|
95
106
|
|
|
107
|
+
class ColHeader extends Component {
|
|
108
|
+
|
|
109
|
+
private m_sens: "up" | "dn";
|
|
110
|
+
private m_sorted: boolean;
|
|
111
|
+
|
|
112
|
+
constructor( props, title ) {
|
|
113
|
+
super( props );
|
|
114
|
+
|
|
115
|
+
this.m_sorted = false;
|
|
116
|
+
this.m_sens = 'dn';
|
|
117
|
+
|
|
118
|
+
this.setContent( [
|
|
119
|
+
new Component({
|
|
120
|
+
tag: 'span',
|
|
121
|
+
content: title
|
|
122
|
+
}),
|
|
123
|
+
new Icon( {
|
|
124
|
+
ref: 'sorter',
|
|
125
|
+
cls: '@hidden',
|
|
126
|
+
icon: 'var( --x4-icon-arrow-down )'
|
|
127
|
+
})
|
|
128
|
+
]);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
get sorted( ) {
|
|
132
|
+
return this.m_sorted;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
set sorted( v ) {
|
|
136
|
+
this.m_sorted = v;
|
|
137
|
+
this.m_sens = 'dn';
|
|
138
|
+
this.itemWithRef<Icon>( 'sorter' ).show( v );
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
get sens( ) {
|
|
142
|
+
return this.m_sens;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
toggleSens( ) {
|
|
146
|
+
this.m_sens = this.m_sens=='up' ? 'dn' : 'up';
|
|
147
|
+
this.itemWithRef<Icon>( 'sorter' ).icon = this.m_sens=='dn' ? 'var( --x4-icon-arrow-down )' : 'var( --x4-icon-arrow-up )';
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
96
153
|
/**
|
|
97
154
|
* gridview class
|
|
98
155
|
*/
|
|
@@ -222,8 +279,6 @@ export class GridView extends VLayout<GridViewProps, GridViewEventMap> {
|
|
|
222
279
|
*/
|
|
223
280
|
|
|
224
281
|
private _handleKey(event: KeyboardEvent) {
|
|
225
|
-
//debugger;
|
|
226
|
-
|
|
227
282
|
if (!this.m_dataview || this.m_dataview.count == 0) {
|
|
228
283
|
return;
|
|
229
284
|
}
|
|
@@ -373,12 +428,8 @@ export class GridView extends VLayout<GridViewProps, GridViewEventMap> {
|
|
|
373
428
|
cls += ' ' + col.cls;
|
|
374
429
|
}
|
|
375
430
|
|
|
376
|
-
let comp = new
|
|
431
|
+
let comp = new ColHeader({
|
|
377
432
|
cls,
|
|
378
|
-
content: new Component({
|
|
379
|
-
tag: 'span',
|
|
380
|
-
content: col.title
|
|
381
|
-
}),
|
|
382
433
|
flex: col.flex,
|
|
383
434
|
sizable: 'right',
|
|
384
435
|
style: {
|
|
@@ -393,7 +444,7 @@ export class GridView extends VLayout<GridViewProps, GridViewEventMap> {
|
|
|
393
444
|
}
|
|
394
445
|
}
|
|
395
446
|
}
|
|
396
|
-
});
|
|
447
|
+
}, col.title );
|
|
397
448
|
|
|
398
449
|
const resizeCol = ( ev: EvSize ) => {
|
|
399
450
|
this._on_col_resize(index, ev.size.width);
|
|
@@ -495,27 +546,22 @@ export class GridView extends VLayout<GridViewProps, GridViewEventMap> {
|
|
|
495
546
|
|
|
496
547
|
this.m_columns.forEach((c) => {
|
|
497
548
|
if (c !== col) {
|
|
498
|
-
(
|
|
499
|
-
(<any>c).$col.removeClass('sort desc');
|
|
549
|
+
(c as GridColumnInternal).$col.sorted = false;
|
|
500
550
|
}
|
|
501
551
|
});
|
|
502
552
|
|
|
503
|
-
const $col = col as
|
|
553
|
+
const $col = (col as GridColumnInternal).$col;
|
|
504
554
|
|
|
505
|
-
if ($col
|
|
506
|
-
$col
|
|
507
|
-
$col.$col.setClass('desc', $col.$sens);
|
|
555
|
+
if ($col.sorted) {
|
|
556
|
+
$col.toggleSens( );
|
|
508
557
|
}
|
|
509
558
|
else {
|
|
510
|
-
$col
|
|
511
|
-
$col.$sorted = true;
|
|
512
|
-
$col.$col.addClass('sort');
|
|
513
|
-
$col.$col.removeClass('desc');
|
|
559
|
+
$col.sorted = true;
|
|
514
560
|
}
|
|
515
561
|
|
|
516
562
|
if (this.m_dataview) {
|
|
517
563
|
this.m_dataview.sort([
|
|
518
|
-
{ field: col.id, ascending: $col
|
|
564
|
+
{ field: col.id, ascending: $col.sens=='dn' ? false : true }
|
|
519
565
|
]);
|
|
520
566
|
}
|
|
521
567
|
}
|
package/src/i18n.ts
CHANGED
|
@@ -7,20 +7,24 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @file i18n.ts
|
|
9
9
|
* @author Etienne Cochard
|
|
10
|
-
* @license
|
|
11
|
-
* Copyright (c) 2019-2021 R-libre ingenierie
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
* it under the terms of the GNU General Public License as published by
|
|
15
|
-
* the Free Software Foundation; either version 3 of the License, or
|
|
16
|
-
* (at your option) any later version.
|
|
11
|
+
* Copyright (c) 2019-2022 R-libre ingenierie
|
|
17
12
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
13
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
15
|
+
* in the Software without restriction, including without limitation the rights
|
|
16
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
17
|
+
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
18
|
+
* subject to the following conditions:
|
|
19
|
+
* The above copyright notice and this permission notice shall be included in all copies
|
|
20
|
+
* or substantial portions of the Software.
|
|
22
21
|
*
|
|
23
|
-
*
|
|
22
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
23
|
+
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
24
|
+
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
25
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
26
|
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
27
|
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
24
28
|
**/
|
|
25
29
|
|
|
26
30
|
|