slick-table 1.1.76 → 1.1.77
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/dist/index.cjs.js +75 -75
- package/dist/index.es.js +2807 -3064
- package/dist/styles/icons.scss +1 -0
- package/dist/types/features/context-menu/ui/ButtonResetFilters/ui/ButtonResetFilters.d.ts.map +1 -1
- package/dist/types/features/context-menu/ui/ContextMenu.d.ts.map +1 -1
- package/dist/types/features/context-menu/ui/CopyRows/CopyRows.d.ts +7 -0
- package/dist/types/features/context-menu/ui/CopyRows/CopyRows.d.ts.map +1 -0
- package/dist/types/features/context-menu/ui/CopyRows/index.d.ts +2 -0
- package/dist/types/features/context-menu/ui/CopyRows/index.d.ts.map +1 -0
- package/dist/types/features/context-menu/ui/PasteRows/PasteRows.d.ts +7 -0
- package/dist/types/features/context-menu/ui/PasteRows/PasteRows.d.ts.map +1 -0
- package/dist/types/features/context-menu/ui/PasteRows/index.d.ts +2 -0
- package/dist/types/features/context-menu/ui/PasteRows/index.d.ts.map +1 -0
- package/dist/types/shared/lib/slickgrid/index.d.ts +1 -1
- package/dist/types/shared/lib/slickgrid/index.d.ts.map +1 -1
- package/dist/types/shared/lib/slickgrid/model/SlickTable/table/SlickTable.d.ts +2 -1
- package/dist/types/shared/lib/slickgrid/model/SlickTable/table/SlickTable.d.ts.map +1 -1
- package/dist/types/shared/model/types/ISlickTable.d.ts +3 -0
- package/dist/types/shared/model/types/ISlickTable.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/app/styles/icons.scss +1 -0
- package/src/features/context-menu/ui/ButtonResetFilters/ui/ButtonResetFilters.tsx +5 -9
- package/src/features/context-menu/ui/ContextMenu.tsx +4 -0
- package/src/features/context-menu/ui/CopyRows/CopyRows.tsx +40 -0
- package/src/features/context-menu/ui/CopyRows/index.ts +1 -0
- package/src/features/context-menu/ui/PasteRows/PasteRows.tsx +56 -0
- package/src/features/context-menu/ui/PasteRows/index.ts +1 -0
- package/src/shared/lib/slickgrid/index.ts +1 -0
- package/src/shared/lib/slickgrid/model/SlickTable/table/SlickTable.ts +3 -0
- package/src/shared/model/types/ISlickTable.ts +3 -0
package/dist/styles/icons.scss
CHANGED
|
@@ -8,6 +8,7 @@ $red: #ff3737;
|
|
|
8
8
|
@include svg("sgi-checkbox-multiple-outline", $gray , "M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M20,16H8V4H20V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16M18.53,8.06L17.47,7L12.59,11.88L10.47,9.76L9.41,10.82L12.59,14L18.53,8.06Z");
|
|
9
9
|
@include svg("sgi-collapse-all-outline", $gray, "M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M19,17H13V15H19V17Z");
|
|
10
10
|
@include svg("sgi-content-copy", $gray, "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z");
|
|
11
|
+
@include svg("sgi-content-paste", $gray, "M19,20H5V4H7V7H17V4H19M12,2A1,1 0 0,1 13,3A1,1 0 0,1 12,4A1,1 0 0,1 11,3A1,1 0 0,1 12,2M19,2H14.82C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2H5A2,2 0 0,0 3,4V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V4A2,2 0 0,0 19,2Z");
|
|
11
12
|
@include svg("sgi-download", $gray, "M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z");
|
|
12
13
|
@include svg("sgi-expand-all-outline", $gray, "M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M19,17H17V19H15V17H13V15H15V13H17V15H19V17Z");
|
|
13
14
|
@include svg("sgi-link", $gray, "M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z");
|
package/dist/types/features/context-menu/ui/ButtonResetFilters/ui/ButtonResetFilters.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonResetFilters.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/context-menu/ui/ButtonResetFilters/ui/ButtonResetFilters.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ButtonResetFilters.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/context-menu/ui/ButtonResetFilters/ui/ButtonResetFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAQrD,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAsBzC,CAAC;AAEF,UAAU,MAAM;IACf,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../../../src/features/context-menu/ui/ContextMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAsB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../../../src/features/context-menu/ui/ContextMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAsB,MAAM,OAAO,CAAC;AAoB/C,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,KAAK,CA2BjC,CAAC;AAEF,UAAU,KAAK;IACd,OAAO,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CopyRows.d.ts","sourceRoot":"","sources":["../../../../../../src/features/context-menu/ui/CopyRows/CopyRows.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAQrD,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,MAAM,CA2B/B,CAAC;AAEF,UAAU,MAAM;IACf,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/features/context-menu/ui/CopyRows/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasteRows.d.ts","sourceRoot":"","sources":["../../../../../../src/features/context-menu/ui/PasteRows/PasteRows.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAYrD,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,MAAM,CAuChC,CAAC;AAEF,UAAU,MAAM;IACf,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/features/context-menu/ui/PasteRows/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Autocomplete, ColumnSorter, DateFormatter, DateValidator, EditorAmount, EditorAutocomplete, EditorDate, EditorSelectString, EditorSelectNumber, EmptyStringValidator, FORMATTER_NUMBER, LengthValidator, PercentFormatter, StringFormatter, TotalCalculator, formatterCheckMark, formatterGroupTotals, getFormatterNumber, columnSorter, commitCurrentEdit, copySelectedRows, deleteRows, getDisplayedRows, getLastRow, getNextId, getUpdates, highlightCell, highlightColumns, hotKeysCopy, hotKeysDelete, hotKeysRedo, hotKeysUndo, isDeletionDangerous, onCellChange, onRowCountChanged, onRowsChanged, openContextMenu, printerCheckMark, selectedRows, useHotKeys, useListenIfTablesWereEdited, useUpdateTotal, wereEdited, } from './lib';
|
|
1
|
+
export { Autocomplete, ColumnSorter, DateFormatter, DateValidator, EditorAmount, EditorAutocomplete, EditorDate, EditorSelectString, EditorSelectNumber, EmptyStringValidator, FORMATTER_NUMBER, LengthValidator, PercentFormatter, StringFormatter, TotalCalculator, formatterCheckMark, formatterGroupTotals, getFormatterNumber, columnSorter, commitCurrentEdit, copySelectedRows, deleteRows, getDisplayedRows, getLastRow, getNextId, getUpdates, highlightCell, highlightColumns, hotKeysCopy, hotKeysDelete, hotKeysRedo, hotKeysUndo, isDeletionDangerous, onCellChange, onRowCountChanged, onRowsChanged, openContextMenu, positionToPaste, printerCheckMark, selectedRows, useHotKeys, useListenIfTablesWereEdited, useUpdateTotal, wereEdited, } from './lib';
|
|
2
2
|
export { ColumnPicker, DownloadManager, DecoratorEndingDate, DecoratorFilter, DecoratorColumnFilter, DecoratorPeriod, DefaultHotKeys, DefaultPrinter, DeletedRowsFilter, Filter, HotKeysDecorator, PreventCopying, RedoUndoOnly, SlickTable, WithConfirmationOfDeletion, WithSummary, WithoutHotKeys, eventContextMenu, eventHeaderContextMenu, eventSummary, } from './model';
|
|
3
3
|
export { SlickgridTable, WithTableStyles, columnCheckboxSelector, columnIsEdited, eventOpenColumnFilters, handleHeaderButtons, headerButtons, openColumnFilter, } from './ui';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/lib/slickgrid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,2BAA2B,EAC3B,cAAc,EACd,UAAU,GACV,MAAM,OAAO,CAAC;AACf,OAAO,EACN,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,0BAA0B,EAC1B,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GAChB,MAAM,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/lib/slickgrid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,2BAA2B,EAC3B,cAAc,EACd,UAAU,GACV,MAAM,OAAO,CAAC;AACf,OAAO,EACN,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,0BAA0B,EAC1B,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GAChB,MAAM,MAAM,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Column, GridOption, OnKeyDownEventArgs, SlickDataView, SlickEventData, SlickGrid } from 'slickgrid';
|
|
2
|
-
import { IColumnPicker, IDownloadManager, IFilter, IGrouping, IHotKeysBehavior, IObserver, IPrinter, ISlickTable, ITotalCalculator } from '../../../../../model/types';
|
|
2
|
+
import { IColumnPicker, IDownloadManager, IEditedRow, IFilter, IGrouping, IHotKeysBehavior, IObserver, IPrinter, ISlickRow, ISlickTable, ITotalCalculator } from '../../../../../model/types';
|
|
3
3
|
export declare class SlickTable implements ISlickTable {
|
|
4
4
|
columnPicker: IColumnPicker | null;
|
|
5
|
+
copiedRows: (ISlickRow & IEditedRow)[];
|
|
5
6
|
downloadManager: IDownloadManager;
|
|
6
7
|
filter: IFilter;
|
|
7
8
|
readonly hotKeysBehavior: IHotKeysBehavior;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlickTable.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/lib/slickgrid/model/SlickTable/table/SlickTable.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,SAAS,EACT,MAAM,WAAW,CAAC;AAInB,OAAO,EACN,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,MAAM,oBAAoB,CAAC;AAQ5B,qBAAa,UAAW,YAAW,WAAW;IACtC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAQ;IAC1C,eAAe,EAAE,gBAAgB,CAAyB;IAC1D,MAAM,EAAE,OAAO,CAAuB;IAC7C,SAAgB,eAAe,EAAE,gBAAgB,CAAwB;IACzE,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAC1C,SAAgB,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAEhD,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,IAAI,EAAE;QACjB,YAAY,CAAC,EAAE,aAAa,CAAC;QAC7B,eAAe,CAAC,EAAE,gBAAgB,CAAC;QACnC,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,gBAAgB,CAAC;QAC3B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,gBAAgB,CAAC;KACnC;IA6BM,UAAU,CAChB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,UAAU,GACjB,SAAS;IASL,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAK3E,IAAW,IAAI,IAAI,SAAS,GAAG,IAAI,CAElC;IACD,IAAW,QAAQ,IAAI,SAAS,CAE/B;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,OAAO,KAAK,IAAI,QAEf;IACD,IAAW,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAStC;IACD,IAAW,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAGpC;IAED,IAAW,OAAO,CAAC,OAAO,EAAE,QAAQ,EAEnC;IACD,IAAW,OAAO,IAAI,QAAQ,CAE7B;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,IAAW,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAEpC;IAED,IAAW,cAAc,IAGO;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAD5D;IACD,IAAW,cAAc,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAE5D;IAEM,YAAY,IAAI,IAAI;IAKpB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAK5C,eAAe,IAAI,IAAI;IAKvB,cAAc,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAKzC,KAAK,IAAI,IAAI;CAUpB"}
|
|
1
|
+
{"version":3,"file":"SlickTable.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/lib/slickgrid/model/SlickTable/table/SlickTable.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,SAAS,EACT,MAAM,WAAW,CAAC;AAInB,OAAO,EACN,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,MAAM,oBAAoB,CAAC;AAQ5B,qBAAa,UAAW,YAAW,WAAW;IACtC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAQ;IAC1C,UAAU,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE,CAAM;IAC5C,eAAe,EAAE,gBAAgB,CAAyB;IAC1D,MAAM,EAAE,OAAO,CAAuB;IAC7C,SAAgB,eAAe,EAAE,gBAAgB,CAAwB;IACzE,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAC1C,SAAgB,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAEhD,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,IAAI,EAAE;QACjB,YAAY,CAAC,EAAE,aAAa,CAAC;QAC7B,eAAe,CAAC,EAAE,gBAAgB,CAAC;QACnC,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,gBAAgB,CAAC;QAC3B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,gBAAgB,CAAC;KACnC;IA6BM,UAAU,CAChB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,UAAU,GACjB,SAAS;IASL,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAK3E,IAAW,IAAI,IAAI,SAAS,GAAG,IAAI,CAElC;IACD,IAAW,QAAQ,IAAI,SAAS,CAE/B;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,OAAO,KAAK,IAAI,QAEf;IACD,IAAW,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAStC;IACD,IAAW,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAGpC;IAED,IAAW,OAAO,CAAC,OAAO,EAAE,QAAQ,EAEnC;IACD,IAAW,OAAO,IAAI,QAAQ,CAE7B;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IACD,IAAW,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAEpC;IAED,IAAW,cAAc,IAGO;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAD5D;IACD,IAAW,cAAc,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAE5D;IAEM,YAAY,IAAI,IAAI;IAKpB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAK5C,eAAe,IAAI,IAAI;IAKvB,cAAc,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAKzC,KAAK,IAAI,IAAI;CAUpB"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { Column, GridOption, OnKeyDownEventArgs, SlickDataView, SlickEventData, SlickGrid } from 'slickgrid';
|
|
2
2
|
import { IColumnPicker } from './IColumnPicker';
|
|
3
3
|
import { IDownloadManager } from './IDownloadManager';
|
|
4
|
+
import { IEditedRow } from './IEditedRow';
|
|
4
5
|
import { IFilter } from './IFilter';
|
|
5
6
|
import { IGrouping } from './IGrouping';
|
|
6
7
|
import { IHotKeysBehavior } from './IHotKeysBehavior';
|
|
7
8
|
import { IObserver } from './IObserver';
|
|
8
9
|
import { IPrinter } from './IPrinter';
|
|
10
|
+
import { ISlickRow } from './ISlickRow';
|
|
9
11
|
import { ITotalCalculator } from './ITotalCalculator';
|
|
10
12
|
export interface ISlickTable {
|
|
11
13
|
columnPicker: IColumnPicker | null;
|
|
14
|
+
copiedRows: (ISlickRow & IEditedRow)[];
|
|
12
15
|
createGrid(dataView: SlickDataView, columns: Column[], options: GridOption): SlickGrid;
|
|
13
16
|
deleteObserver(observer: IObserver): void;
|
|
14
17
|
downloadManager: IDownloadManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ISlickTable.d.ts","sourceRoot":"","sources":["../../../../../src/shared/model/types/ISlickTable.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,SAAS,EACT,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC3B,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,UAAU,CACT,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,UAAU,GACjB,SAAS,CAAC;IACb,cAAc,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1C,eAAe,EAAE,gBAAgB,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IACrE,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,eAAe,IAAI,IAAI,CAAC;IACxB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7C,KAAK,IAAI,IAAI,CAAC;IACd,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,gBAAgB,CAAC;CACnC"}
|
|
1
|
+
{"version":3,"file":"ISlickTable.d.ts","sourceRoot":"","sources":["../../../../../src/shared/model/types/ISlickTable.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,SAAS,EACT,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC3B,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE,CAAC;IACvC,UAAU,CACT,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,UAAU,GACjB,SAAS,CAAC;IACb,cAAc,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1C,eAAe,EAAE,gBAAgB,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IACrE,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,eAAe,IAAI,IAAI,CAAC;IACxB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7C,KAAK,IAAI,IAAI,CAAC;IACd,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,gBAAgB,CAAC;CACnC"}
|
package/package.json
CHANGED
|
@@ -8,6 +8,7 @@ $red: #ff3737;
|
|
|
8
8
|
@include svg("sgi-checkbox-multiple-outline", $gray , "M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M20,16H8V4H20V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16M18.53,8.06L17.47,7L12.59,11.88L10.47,9.76L9.41,10.82L12.59,14L18.53,8.06Z");
|
|
9
9
|
@include svg("sgi-collapse-all-outline", $gray, "M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M19,17H13V15H19V17Z");
|
|
10
10
|
@include svg("sgi-content-copy", $gray, "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z");
|
|
11
|
+
@include svg("sgi-content-paste", $gray, "M19,20H5V4H7V7H17V4H19M12,2A1,1 0 0,1 13,3A1,1 0 0,1 12,4A1,1 0 0,1 11,3A1,1 0 0,1 12,2M19,2H14.82C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2H5A2,2 0 0,0 3,4V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V4A2,2 0 0,0 19,2Z");
|
|
11
12
|
@include svg("sgi-download", $gray, "M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z");
|
|
12
13
|
@include svg("sgi-expand-all-outline", $gray, "M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M19,17H17V19H15V17H13V15H15V13H17V15H19V17Z");
|
|
13
14
|
@include svg("sgi-link", $gray, "M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z");
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Dispatch, FC, Fragment, SetStateAction } from "react";
|
|
1
|
+
import { Dispatch, FC, SetStateAction } from "react";
|
|
3
2
|
|
|
4
3
|
import { eventContextMenu, headerButtons } from "shared/lib/slickgrid";
|
|
5
4
|
|
|
@@ -24,13 +23,10 @@ export const ButtonResetFilters: FC<IProps> = ({ setIsOpened }) => {
|
|
|
24
23
|
if (!hasFiltersApplied(table)) return null;
|
|
25
24
|
|
|
26
25
|
return (
|
|
27
|
-
<
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Reset column filters
|
|
32
|
-
</Styled.Li>
|
|
33
|
-
</Fragment>
|
|
26
|
+
<Styled.Li onClick={onClick}>
|
|
27
|
+
<Styled.Icon className={"sgi sgi-notification-clear-all"}></Styled.Icon>
|
|
28
|
+
Reset column filters
|
|
29
|
+
</Styled.Li>
|
|
34
30
|
);
|
|
35
31
|
};
|
|
36
32
|
|
|
@@ -10,8 +10,10 @@ import { ButtonResetFilters } from "./ButtonResetFilters";
|
|
|
10
10
|
import { ButtonSummary } from "./ButtonSummary";
|
|
11
11
|
import { ButtonUngroup } from "./ButtonUngroup";
|
|
12
12
|
import { CollapseAll } from "./CollapseAll";
|
|
13
|
+
import { CopyRows } from "./CopyRows";
|
|
13
14
|
import { CopyToClipboard } from "./CopyToClipboard";
|
|
14
15
|
import { ExpandAll } from "./ExpandAll";
|
|
16
|
+
import { PasteRows } from "./PasteRows";
|
|
15
17
|
import { Print } from "./Print";
|
|
16
18
|
|
|
17
19
|
import Styled from "./ContextMenu.style";
|
|
@@ -37,6 +39,8 @@ export const ContextMenu: FC<Props> = ({ tableId }) => {
|
|
|
37
39
|
<ExpandAll setIsOpened={setIsOpened} />
|
|
38
40
|
<CollapseAll setIsOpened={setIsOpened} />
|
|
39
41
|
<ButtonSummary setIsOpened={setIsOpened} />
|
|
42
|
+
<CopyRows setIsOpened={setIsOpened} />
|
|
43
|
+
<PasteRows setIsOpened={setIsOpened} />
|
|
40
44
|
</Styled.Ul>
|
|
41
45
|
</Popup>
|
|
42
46
|
</Fragment>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Dispatch, FC, SetStateAction } from "react";
|
|
2
|
+
import { SlickDataView } from "slickgrid";
|
|
3
|
+
|
|
4
|
+
import { eventContextMenu } from "shared/lib/slickgrid";
|
|
5
|
+
import { IEditedRow, ISlickRow } from "shared/model/types";
|
|
6
|
+
|
|
7
|
+
import Styled from "../ContextMenu.style";
|
|
8
|
+
|
|
9
|
+
export const CopyRows: FC<IProps> = ({ setIsOpened }) => {
|
|
10
|
+
const table = eventContextMenu.table;
|
|
11
|
+
const grid = table?.grid;
|
|
12
|
+
const selectedRows = grid?.getSelectedRows();
|
|
13
|
+
|
|
14
|
+
function copyRows() {
|
|
15
|
+
if (!grid || !table || !selectedRows) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const dataView: SlickDataView = grid.getData();
|
|
19
|
+
const result: (ISlickRow & IEditedRow)[] = [];
|
|
20
|
+
for (let i = 0; i < selectedRows.length; i++) {
|
|
21
|
+
result.push(dataView.getItem(selectedRows[i]));
|
|
22
|
+
}
|
|
23
|
+
table.copiedRows = result;
|
|
24
|
+
grid.setSelectedRows([]);
|
|
25
|
+
setIsOpened(false);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (!selectedRows?.length) return null;
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<Styled.Li onClick={copyRows}>
|
|
32
|
+
<Styled.Icon className={"sgi sgi-content-copy"}></Styled.Icon>Copy
|
|
33
|
+
selected rows
|
|
34
|
+
</Styled.Li>
|
|
35
|
+
);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
interface IProps {
|
|
39
|
+
setIsOpened: Dispatch<SetStateAction<boolean>>;
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CopyRows } from "./CopyRows";
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Dispatch, FC, SetStateAction } from "react";
|
|
2
|
+
import { SlickDataView } from "slickgrid";
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
eventContextMenu,
|
|
6
|
+
getNextId,
|
|
7
|
+
positionToPaste,
|
|
8
|
+
} from "shared/lib/slickgrid";
|
|
9
|
+
import { IEditedRow, ISlickRow } from "shared/model/types";
|
|
10
|
+
|
|
11
|
+
import Styled from "../ContextMenu.style";
|
|
12
|
+
|
|
13
|
+
export const PasteRows: FC<IProps> = ({ setIsOpened }) => {
|
|
14
|
+
const table = eventContextMenu.table;
|
|
15
|
+
const copiedRows = table?.copiedRows || [];
|
|
16
|
+
const grid = table?.grid;
|
|
17
|
+
const options = grid?.getOptions();
|
|
18
|
+
|
|
19
|
+
function pasteRows() {
|
|
20
|
+
if (!grid || !table) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const dataView: SlickDataView = grid.getData();
|
|
24
|
+
const rows = dataView.getItems();
|
|
25
|
+
const newRows: (ISlickRow & IEditedRow)[] = [];
|
|
26
|
+
const idPropertyName = dataView.getIdPropertyName();
|
|
27
|
+
let nextId = getNextId(grid);
|
|
28
|
+
if (copiedRows.length) {
|
|
29
|
+
copiedRows.forEach((row) => {
|
|
30
|
+
newRows.push({
|
|
31
|
+
...row,
|
|
32
|
+
[idPropertyName]: nextId++,
|
|
33
|
+
isEdited: true,
|
|
34
|
+
isNew: true,
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
rows.splice(positionToPaste(grid), 0, ...newRows);
|
|
38
|
+
dataView.setItems(rows);
|
|
39
|
+
grid.setSelectedRows([]);
|
|
40
|
+
grid.invalidate();
|
|
41
|
+
}
|
|
42
|
+
setIsOpened(false);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (!options?.enableAddRow || !copiedRows.length) return null;
|
|
46
|
+
|
|
47
|
+
return (
|
|
48
|
+
<Styled.Li onClick={pasteRows}>
|
|
49
|
+
<Styled.Icon className={"sgi sgi-content-paste"}></Styled.Icon>Paste rows
|
|
50
|
+
</Styled.Li>
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
interface IProps {
|
|
55
|
+
setIsOpened: Dispatch<SetStateAction<boolean>>;
|
|
56
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PasteRows } from "./PasteRows";
|
|
@@ -12,11 +12,13 @@ import { localStore } from "shared/lib/localStrore";
|
|
|
12
12
|
import {
|
|
13
13
|
IColumnPicker,
|
|
14
14
|
IDownloadManager,
|
|
15
|
+
IEditedRow,
|
|
15
16
|
IFilter,
|
|
16
17
|
IGrouping,
|
|
17
18
|
IHotKeysBehavior,
|
|
18
19
|
IObserver,
|
|
19
20
|
IPrinter,
|
|
21
|
+
ISlickRow,
|
|
20
22
|
ISlickTable,
|
|
21
23
|
ITotalCalculator,
|
|
22
24
|
} from "shared/model/types";
|
|
@@ -29,6 +31,7 @@ import { DefaultPrinter } from "../printer";
|
|
|
29
31
|
|
|
30
32
|
export class SlickTable implements ISlickTable {
|
|
31
33
|
public columnPicker: IColumnPicker | null = null;
|
|
34
|
+
public copiedRows: (ISlickRow & IEditedRow)[] = [];
|
|
32
35
|
public downloadManager: IDownloadManager = new DownloadManager();
|
|
33
36
|
public filter: IFilter = new WithoutFilter();
|
|
34
37
|
public readonly hotKeysBehavior: IHotKeysBehavior = new WithoutHotKeys();
|
|
@@ -9,15 +9,18 @@ import {
|
|
|
9
9
|
|
|
10
10
|
import { IColumnPicker } from "./IColumnPicker";
|
|
11
11
|
import { IDownloadManager } from "./IDownloadManager";
|
|
12
|
+
import { IEditedRow } from "./IEditedRow";
|
|
12
13
|
import { IFilter } from "./IFilter";
|
|
13
14
|
import { IGrouping } from "./IGrouping";
|
|
14
15
|
import { IHotKeysBehavior } from "./IHotKeysBehavior";
|
|
15
16
|
import { IObserver } from "./IObserver";
|
|
16
17
|
import { IPrinter } from "./IPrinter";
|
|
18
|
+
import { ISlickRow } from "./ISlickRow";
|
|
17
19
|
import { ITotalCalculator } from "./ITotalCalculator";
|
|
18
20
|
|
|
19
21
|
export interface ISlickTable {
|
|
20
22
|
columnPicker: IColumnPicker | null;
|
|
23
|
+
copiedRows: (ISlickRow & IEditedRow)[];
|
|
21
24
|
createGrid(
|
|
22
25
|
dataView: SlickDataView,
|
|
23
26
|
columns: Column[],
|