@ai-table/state 0.0.27 → 0.0.29
Sign up to get free protection for your applications and to get access to all the features.
- package/constants/context-menu-item.d.ts.map +1 -1
- package/esm2022/constants/context-menu-item.mjs +3 -7
- package/esm2022/types/view.mjs +1 -18
- package/esm2022/utils/common.mjs +1 -11
- package/esm2022/utils/index.mjs +1 -2
- package/esm2022/utils/record/filter.mjs +2 -4
- package/esm2022/utils/record/sort.mjs +2 -3
- package/fesm2022/ai-table-state.mjs +6 -416
- package/fesm2022/ai-table-state.mjs.map +1 -1
- package/package.json +1 -1
- package/types/view.d.ts +1 -22
- package/types/view.d.ts.map +1 -1
- package/utils/common.d.ts +0 -1
- package/utils/common.d.ts.map +1 -1
- package/utils/index.d.ts +0 -1
- package/utils/index.d.ts.map +1 -1
- package/utils/record/filter.d.ts +2 -2
- package/utils/record/filter.d.ts.map +1 -1
- package/utils/record/sort.d.ts.map +1 -1
- package/esm2022/utils/field/model/date.mjs +0 -74
- package/esm2022/utils/field/model/field.mjs +0 -63
- package/esm2022/utils/field/model/index.mjs +0 -24
- package/esm2022/utils/field/model/link.mjs +0 -37
- package/esm2022/utils/field/model/member.mjs +0 -48
- package/esm2022/utils/field/model/number.mjs +0 -46
- package/esm2022/utils/field/model/rate.mjs +0 -40
- package/esm2022/utils/field/model/select.mjs +0 -55
- package/esm2022/utils/field/model/text.mjs +0 -27
- package/utils/field/model/date.d.ts +0 -11
- package/utils/field/model/date.d.ts.map +0 -1
- package/utils/field/model/field.d.ts +0 -12
- package/utils/field/model/field.d.ts.map +0 -1
- package/utils/field/model/index.d.ts +0 -4
- package/utils/field/model/index.d.ts.map +0 -1
- package/utils/field/model/link.d.ts +0 -10
- package/utils/field/model/link.d.ts.map +0 -1
- package/utils/field/model/member.d.ts +0 -8
- package/utils/field/model/member.d.ts.map +0 -1
- package/utils/field/model/number.d.ts +0 -10
- package/utils/field/model/number.d.ts.map +0 -1
- package/utils/field/model/rate.d.ts +0 -10
- package/utils/field/model/rate.d.ts.map +0 -1
- package/utils/field/model/select.d.ts +0 -12
- package/utils/field/model/select.d.ts.map +0 -1
- package/utils/field/model/text.d.ts +0 -10
- package/utils/field/model/text.d.ts.map +0 -1
@@ -1,10 +1,9 @@
|
|
1
1
|
import * as Y from 'yjs';
|
2
|
-
import { isArray
|
3
|
-
import { AITableQueries,
|
4
|
-
import * as _ from 'lodash';
|
5
|
-
import ___default, { isEqual } from 'lodash';
|
6
|
-
import { fromUnixTime, subDays } from 'date-fns';
|
2
|
+
import { isArray } from 'ngx-tethys/util';
|
3
|
+
import { AITableQueries, ViewOperationMap, isSystemField, AITableFieldType, isEmpty, getDefaultFieldValue, Direction as Direction$1, idsCreator, idCreator, shortIdCreator, shortIdsCreator, AI_TABLE_GRID_FIELD_SERVICE_MAP, AITable } from '@ai-table/grid';
|
7
4
|
import { createDraft, finishDraft } from 'immer';
|
5
|
+
import * as _ from 'lodash';
|
6
|
+
import ___default from 'lodash';
|
8
7
|
|
9
8
|
const IS_LOCAL = new WeakSet();
|
10
9
|
const IS_REMOTE = new WeakSet();
|
@@ -60,23 +59,6 @@ var AITableFilterLogical;
|
|
60
59
|
AITableFilterLogical["and"] = "and";
|
61
60
|
AITableFilterLogical["or"] = "or";
|
62
61
|
})(AITableFilterLogical || (AITableFilterLogical = {}));
|
63
|
-
var AITableFilterOperation;
|
64
|
-
(function (AITableFilterOperation) {
|
65
|
-
AITableFilterOperation["eq"] = "eq";
|
66
|
-
AITableFilterOperation["gte"] = "gte";
|
67
|
-
AITableFilterOperation["lte"] = "lte";
|
68
|
-
AITableFilterOperation["gt"] = "gt";
|
69
|
-
AITableFilterOperation["lt"] = "lt";
|
70
|
-
AITableFilterOperation["in"] = "in";
|
71
|
-
AITableFilterOperation["contain"] = "contain";
|
72
|
-
AITableFilterOperation["ne"] = "ne";
|
73
|
-
AITableFilterOperation["nin"] = "nin";
|
74
|
-
AITableFilterOperation["between"] = "between";
|
75
|
-
AITableFilterOperation["besides"] = "besides";
|
76
|
-
AITableFilterOperation["empty"] = "empty";
|
77
|
-
AITableFilterOperation["exists"] = "exists";
|
78
|
-
AITableFilterOperation["notContain"] = "not_contain";
|
79
|
-
})(AITableFilterOperation || (AITableFilterOperation = {}));
|
80
62
|
|
81
63
|
var ActionName;
|
82
64
|
(function (ActionName) {
|
@@ -706,15 +688,6 @@ function applyActionOps(aiTable, sharedType, actions) {
|
|
706
688
|
return sharedType;
|
707
689
|
}
|
708
690
|
|
709
|
-
function isEmpty(value) {
|
710
|
-
if (isArray(value)) {
|
711
|
-
return isEmpty$1(value);
|
712
|
-
}
|
713
|
-
if (isObject(value)) {
|
714
|
-
return Reflect.ownKeys(value).length === 0;
|
715
|
-
}
|
716
|
-
return isUndefinedOrNull(value) || value === '';
|
717
|
-
}
|
718
691
|
function isPathEqual(path, another) {
|
719
692
|
return path.length === another.length && path.every((n, i) => n === another[i]);
|
720
693
|
}
|
@@ -726,385 +699,6 @@ function sortByViewPosition(data, activeView) {
|
|
726
699
|
return data;
|
727
700
|
}
|
728
701
|
|
729
|
-
const zhIntlCollator = typeof Intl !== 'undefined' ? new Intl.Collator('zh-CN') : undefined;
|
730
|
-
class Field {
|
731
|
-
stringInclude(str, searchStr) {
|
732
|
-
return str.toLowerCase().includes(searchStr.trim().toLowerCase());
|
733
|
-
}
|
734
|
-
isMeetFilter(condition, cellValue) {
|
735
|
-
switch (condition.operation) {
|
736
|
-
case AITableFilterOperation.empty:
|
737
|
-
case AITableFilterOperation.exists: {
|
738
|
-
return this.isEmptyOrNot(condition.operation, cellValue);
|
739
|
-
}
|
740
|
-
default: {
|
741
|
-
return true;
|
742
|
-
}
|
743
|
-
}
|
744
|
-
}
|
745
|
-
isEmptyOrNot(operation, cellValue) {
|
746
|
-
switch (operation) {
|
747
|
-
case AITableFilterOperation.empty: {
|
748
|
-
return isEmpty(cellValue);
|
749
|
-
}
|
750
|
-
case AITableFilterOperation.exists: {
|
751
|
-
return !isEmpty(cellValue);
|
752
|
-
}
|
753
|
-
default: {
|
754
|
-
throw new Error('compare operator type error');
|
755
|
-
}
|
756
|
-
}
|
757
|
-
}
|
758
|
-
eq(cv1, cv2) {
|
759
|
-
return isEqual(cv1, cv2);
|
760
|
-
}
|
761
|
-
compare(cellValue1, cellValue2, field, references) {
|
762
|
-
if (this.eq(cellValue1, cellValue2)) {
|
763
|
-
return 0;
|
764
|
-
}
|
765
|
-
if (cellValue1 == null) {
|
766
|
-
return -1;
|
767
|
-
}
|
768
|
-
if (cellValue2 == null) {
|
769
|
-
return 1;
|
770
|
-
}
|
771
|
-
let str1 = this.cellValueToString(cellValue1, field, references);
|
772
|
-
let str2 = this.cellValueToString(cellValue2, field, references);
|
773
|
-
if (str1 === str2) {
|
774
|
-
return 0;
|
775
|
-
}
|
776
|
-
if (str1 == null) {
|
777
|
-
return -1;
|
778
|
-
}
|
779
|
-
if (str2 == null) {
|
780
|
-
return 1;
|
781
|
-
}
|
782
|
-
str1 = str1.trim();
|
783
|
-
str2 = str2.trim();
|
784
|
-
// test pinyin sort
|
785
|
-
return str1 === str2 ? 0 : zhIntlCollator ? zhIntlCollator.compare(str1, str2) : str1.localeCompare(str2, 'zh-CN') > 0 ? 1 : -1;
|
786
|
-
}
|
787
|
-
}
|
788
|
-
|
789
|
-
class TextField extends Field {
|
790
|
-
isMeetFilter(condition, cellValue) {
|
791
|
-
switch (condition.operation) {
|
792
|
-
case AITableFilterOperation.empty:
|
793
|
-
return isEmpty(cellValue);
|
794
|
-
case AITableFilterOperation.exists:
|
795
|
-
return !isEmpty(cellValue);
|
796
|
-
case AITableFilterOperation.contain:
|
797
|
-
return !isEmpty(cellValue) && this.stringInclude(cellValue, condition.value);
|
798
|
-
default:
|
799
|
-
return super.isMeetFilter(condition, cellValue);
|
800
|
-
}
|
801
|
-
}
|
802
|
-
static stringInclude(str, searchStr) {
|
803
|
-
return str.toLowerCase().includes(searchStr.trim().toLowerCase());
|
804
|
-
}
|
805
|
-
eq(cv1, cv2) {
|
806
|
-
return this.cellValueToString(cv1) === this.cellValueToString(cv2);
|
807
|
-
}
|
808
|
-
cellValueToString(cellValue) {
|
809
|
-
return cellValue;
|
810
|
-
}
|
811
|
-
}
|
812
|
-
|
813
|
-
class SelectField extends Field {
|
814
|
-
isMeetFilter(condition, cellValue) {
|
815
|
-
switch (condition.operation) {
|
816
|
-
case AITableFilterOperation.empty:
|
817
|
-
return isEmpty(cellValue);
|
818
|
-
case AITableFilterOperation.exists:
|
819
|
-
return !isEmpty(cellValue);
|
820
|
-
case AITableFilterOperation.in:
|
821
|
-
return Array.isArray(condition.value) && hasIntersect$1(cellValue, condition.value);
|
822
|
-
case AITableFilterOperation.nin:
|
823
|
-
return Array.isArray(condition.value) && !hasIntersect$1(cellValue, condition.value);
|
824
|
-
default:
|
825
|
-
return super.isMeetFilter(condition, cellValue);
|
826
|
-
}
|
827
|
-
}
|
828
|
-
cellValueToString(cellValue, field) {
|
829
|
-
return this.arrayValueToString(this.cellValueToArray(cellValue, field));
|
830
|
-
}
|
831
|
-
cellValueToArray(cellValue, field) {
|
832
|
-
if (!cellValue) {
|
833
|
-
return null;
|
834
|
-
}
|
835
|
-
const result = [];
|
836
|
-
for (let i = 0, l = cellValue.length; i < l; i++) {
|
837
|
-
const option = this.findOptionById(field, cellValue[i]);
|
838
|
-
if (option) {
|
839
|
-
result.push(option.text);
|
840
|
-
}
|
841
|
-
}
|
842
|
-
return result;
|
843
|
-
}
|
844
|
-
findOptionById(field, id) {
|
845
|
-
return field.settings.options.find(option => option._id === id) || null;
|
846
|
-
}
|
847
|
-
arrayValueToString(cellValues) {
|
848
|
-
return cellValues && cellValues.length ? cellValues.join(', ') : null;
|
849
|
-
}
|
850
|
-
}
|
851
|
-
function hasIntersect$1(array1, array2) {
|
852
|
-
if (!Array.isArray(array1) || !Array.isArray(array2)) {
|
853
|
-
return false;
|
854
|
-
}
|
855
|
-
const set1 = new Set(array1);
|
856
|
-
const set2 = new Set(array2);
|
857
|
-
for (const ele of set1) {
|
858
|
-
if (set2.has(ele)) {
|
859
|
-
return true;
|
860
|
-
}
|
861
|
-
}
|
862
|
-
return false;
|
863
|
-
}
|
864
|
-
|
865
|
-
class DateField extends Field {
|
866
|
-
isMeetFilter(condition, cellValue) {
|
867
|
-
const [left, right] = this.getTimeRange(condition.value);
|
868
|
-
switch (condition.operation) {
|
869
|
-
case AITableFilterOperation.empty:
|
870
|
-
return isEmpty(cellValue.timestamp) || cellValue.timestamp === 0;
|
871
|
-
case AITableFilterOperation.exists:
|
872
|
-
return !isEmpty(cellValue.timestamp) && cellValue.timestamp !== 0;
|
873
|
-
case AITableFilterOperation.eq:
|
874
|
-
return left <= cellValue.timestamp && cellValue.timestamp < right;
|
875
|
-
case AITableFilterOperation.gt:
|
876
|
-
return cellValue.timestamp > right;
|
877
|
-
case AITableFilterOperation.lt:
|
878
|
-
return cellValue.timestamp < left;
|
879
|
-
case AITableFilterOperation.between:
|
880
|
-
return left <= cellValue.timestamp && cellValue.timestamp < right;
|
881
|
-
default:
|
882
|
-
return super.isMeetFilter(condition, cellValue);
|
883
|
-
}
|
884
|
-
}
|
885
|
-
getTimeRange(value) {
|
886
|
-
switch (value) {
|
887
|
-
case 'today':
|
888
|
-
return [new TinyDate(new Date()).startOfDay().getUnixTime(), new TinyDate(new Date()).endOfDay().getUnixTime()];
|
889
|
-
case 'current_week':
|
890
|
-
return [
|
891
|
-
new TinyDate().startOfWeek({ weekStartsOn: 1 }).getUnixTime(),
|
892
|
-
new TinyDate().endOfWeek({ weekStartsOn: 1 }).getUnixTime()
|
893
|
-
];
|
894
|
-
case 'yesterday':
|
895
|
-
return [
|
896
|
-
new TinyDate(subDays(new Date(), 1)).startOfDay().getUnixTime(),
|
897
|
-
new TinyDate(subDays(new Date(), 1)).endOfDay().getUnixTime()
|
898
|
-
];
|
899
|
-
case 'current_month':
|
900
|
-
return [new TinyDate().startOfMonth().getUnixTime(), new TinyDate().endOfMonth().getUnixTime()];
|
901
|
-
default:
|
902
|
-
if (isArray(value)) {
|
903
|
-
return [
|
904
|
-
new TinyDate(fromUnixTime(value[0])).startOfDay().getUnixTime(),
|
905
|
-
new TinyDate(fromUnixTime(value[1])).endOfDay().getUnixTime()
|
906
|
-
];
|
907
|
-
}
|
908
|
-
return [
|
909
|
-
new TinyDate(fromUnixTime(value)).startOfDay().getUnixTime(),
|
910
|
-
new TinyDate(fromUnixTime(value)).endOfDay().getUnixTime()
|
911
|
-
];
|
912
|
-
}
|
913
|
-
}
|
914
|
-
cellValueToString(_cellValue) {
|
915
|
-
return null;
|
916
|
-
}
|
917
|
-
static _compare(cellValue1, cellValue2) {
|
918
|
-
if (isEmpty(cellValue1?.timestamp) && isEmpty(cellValue2?.timestamp)) {
|
919
|
-
return 0;
|
920
|
-
}
|
921
|
-
if (isEmpty(cellValue1?.timestamp)) {
|
922
|
-
return -1;
|
923
|
-
}
|
924
|
-
if (isEmpty(cellValue2?.timestamp)) {
|
925
|
-
return 1;
|
926
|
-
}
|
927
|
-
return cellValue1.timestamp === cellValue2.timestamp ? 0 : cellValue1.timestamp > cellValue2.timestamp ? 1 : -1;
|
928
|
-
}
|
929
|
-
compare(cellValue1, cellValue2) {
|
930
|
-
return DateField._compare(cellValue1, cellValue2);
|
931
|
-
}
|
932
|
-
}
|
933
|
-
|
934
|
-
class NumberField extends Field {
|
935
|
-
isMeetFilter(condition, cellValue) {
|
936
|
-
switch (condition.operation) {
|
937
|
-
case AITableFilterOperation.empty:
|
938
|
-
return isEmpty(cellValue);
|
939
|
-
case AITableFilterOperation.exists:
|
940
|
-
return !isEmpty(cellValue);
|
941
|
-
case AITableFilterOperation.eq:
|
942
|
-
return !Number.isNaN(condition.value) && cellValue != null && cellValue !== '' && condition.value === cellValue;
|
943
|
-
case AITableFilterOperation.gte:
|
944
|
-
return cellValue != null && cellValue !== '' && cellValue >= condition.value;
|
945
|
-
case AITableFilterOperation.lte:
|
946
|
-
return cellValue != null && cellValue !== '' && cellValue <= condition.value;
|
947
|
-
case AITableFilterOperation.gt:
|
948
|
-
return cellValue != null && cellValue !== '' && cellValue > condition.value;
|
949
|
-
case AITableFilterOperation.lt:
|
950
|
-
return cellValue != null && cellValue !== '' && cellValue < condition.value;
|
951
|
-
case AITableFilterOperation.ne:
|
952
|
-
return cellValue == null || cellValue == '' || Number.isNaN(condition.value) || cellValue !== condition.value;
|
953
|
-
default:
|
954
|
-
return super.isMeetFilter(condition, cellValue);
|
955
|
-
}
|
956
|
-
}
|
957
|
-
cellValueToString(_cellValue) {
|
958
|
-
return null;
|
959
|
-
}
|
960
|
-
static _compare(cellValue1, cellValue2) {
|
961
|
-
if (isEmpty(cellValue1) && isEmpty(cellValue2)) {
|
962
|
-
return 0;
|
963
|
-
}
|
964
|
-
if (isEmpty(cellValue1)) {
|
965
|
-
return -1;
|
966
|
-
}
|
967
|
-
if (isEmpty(cellValue2)) {
|
968
|
-
return 1;
|
969
|
-
}
|
970
|
-
return cellValue1 === cellValue2 ? 0 : cellValue1 > cellValue2 ? 1 : -1;
|
971
|
-
}
|
972
|
-
compare(cellValue1, cellValue2) {
|
973
|
-
return NumberField._compare(cellValue1, cellValue2);
|
974
|
-
}
|
975
|
-
}
|
976
|
-
|
977
|
-
class RateField extends Field {
|
978
|
-
isMeetFilter(condition, cellValue) {
|
979
|
-
switch (condition.operation) {
|
980
|
-
case AITableFilterOperation.empty:
|
981
|
-
return isEmpty(cellValue);
|
982
|
-
case AITableFilterOperation.exists:
|
983
|
-
return !isEmpty(cellValue);
|
984
|
-
case AITableFilterOperation.in:
|
985
|
-
const isContain = condition.value.some((item) => String(item) === String(cellValue));
|
986
|
-
return !isEmpty(cellValue) && isContain;
|
987
|
-
case AITableFilterOperation.nin:
|
988
|
-
const noContain = condition.value.every((item) => String(item) !== String(cellValue));
|
989
|
-
return isEmpty(cellValue) || noContain;
|
990
|
-
default:
|
991
|
-
return super.isMeetFilter(condition, cellValue);
|
992
|
-
}
|
993
|
-
}
|
994
|
-
cellValueToString(_cellValue) {
|
995
|
-
return null;
|
996
|
-
}
|
997
|
-
static _compare(cellValue1, cellValue2) {
|
998
|
-
if (isEmpty(cellValue1) && isEmpty(cellValue2)) {
|
999
|
-
return 0;
|
1000
|
-
}
|
1001
|
-
if (isEmpty(cellValue1)) {
|
1002
|
-
return -1;
|
1003
|
-
}
|
1004
|
-
if (isEmpty(cellValue2)) {
|
1005
|
-
return 1;
|
1006
|
-
}
|
1007
|
-
return cellValue1 === cellValue2 ? 0 : cellValue1 > cellValue2 ? 1 : -1;
|
1008
|
-
}
|
1009
|
-
compare(cellValue1, cellValue2) {
|
1010
|
-
return RateField._compare(cellValue1, cellValue2);
|
1011
|
-
}
|
1012
|
-
}
|
1013
|
-
|
1014
|
-
class LinkField extends Field {
|
1015
|
-
isMeetFilter(condition, cellValue) {
|
1016
|
-
const cellTextValue = this.cellValueToString(cellValue);
|
1017
|
-
switch (condition.operation) {
|
1018
|
-
case AITableFilterOperation.empty:
|
1019
|
-
return isEmpty(cellTextValue);
|
1020
|
-
case AITableFilterOperation.exists:
|
1021
|
-
return !isEmpty(cellTextValue);
|
1022
|
-
case AITableFilterOperation.contain:
|
1023
|
-
return !isEmpty(cellTextValue) && this.stringInclude(cellTextValue, condition.value);
|
1024
|
-
default:
|
1025
|
-
return super.isMeetFilter(condition, cellTextValue);
|
1026
|
-
}
|
1027
|
-
}
|
1028
|
-
eq(cv1, cv2) {
|
1029
|
-
return this.cellValueToString(cv1) === this.cellValueToString(cv2);
|
1030
|
-
}
|
1031
|
-
compare(cellValue1, cellValue2, field) {
|
1032
|
-
const cellTextValue1 = this.cellValueToString(cellValue1);
|
1033
|
-
const cellTextValue2 = this.cellValueToString(cellValue2);
|
1034
|
-
return super.compare(cellTextValue1, cellTextValue2, field);
|
1035
|
-
}
|
1036
|
-
cellValueToString(cellValue) {
|
1037
|
-
if (isString(cellValue)) {
|
1038
|
-
return cellValue;
|
1039
|
-
}
|
1040
|
-
if (isObject(cellValue)) {
|
1041
|
-
return cellValue.text;
|
1042
|
-
}
|
1043
|
-
return '';
|
1044
|
-
}
|
1045
|
-
}
|
1046
|
-
|
1047
|
-
class MemberField extends Field {
|
1048
|
-
isMeetFilter(condition, cellValue) {
|
1049
|
-
switch (condition.operation) {
|
1050
|
-
case AITableFilterOperation.empty:
|
1051
|
-
return isEmpty(cellValue);
|
1052
|
-
case AITableFilterOperation.exists:
|
1053
|
-
return !isEmpty(cellValue);
|
1054
|
-
case AITableFilterOperation.in:
|
1055
|
-
return Array.isArray(condition.value) && hasIntersect(cellValue, condition.value);
|
1056
|
-
case AITableFilterOperation.nin:
|
1057
|
-
return Array.isArray(condition.value) && !hasIntersect(cellValue, condition.value);
|
1058
|
-
default:
|
1059
|
-
return super.isMeetFilter(condition, cellValue);
|
1060
|
-
}
|
1061
|
-
}
|
1062
|
-
cellValueToString(cellValue, field, references) {
|
1063
|
-
let names = [];
|
1064
|
-
if (cellValue?.length && references) {
|
1065
|
-
for (let index = 0; index < cellValue.length; index++) {
|
1066
|
-
const userInfo = references?.members[cellValue[index]];
|
1067
|
-
if (!userInfo) {
|
1068
|
-
continue;
|
1069
|
-
}
|
1070
|
-
if (userInfo.display_name_pinyin) {
|
1071
|
-
names.push(userInfo.display_name_pinyin);
|
1072
|
-
}
|
1073
|
-
}
|
1074
|
-
}
|
1075
|
-
return names && names.length ? names.join(', ') : null;
|
1076
|
-
}
|
1077
|
-
}
|
1078
|
-
function hasIntersect(array1, array2) {
|
1079
|
-
if (!Array.isArray(array1) || !Array.isArray(array2)) {
|
1080
|
-
return false;
|
1081
|
-
}
|
1082
|
-
const set1 = new Set(array1);
|
1083
|
-
const set2 = new Set(array2);
|
1084
|
-
for (const ele of set1) {
|
1085
|
-
if (set2.has(ele)) {
|
1086
|
-
return true;
|
1087
|
-
}
|
1088
|
-
}
|
1089
|
-
return false;
|
1090
|
-
}
|
1091
|
-
|
1092
|
-
const ViewOperationMap = {
|
1093
|
-
[AITableFieldType.text]: new TextField(),
|
1094
|
-
[AITableFieldType.richText]: new TextField(),
|
1095
|
-
[AITableFieldType.select]: new SelectField(),
|
1096
|
-
[AITableFieldType.date]: new DateField(),
|
1097
|
-
[AITableFieldType.createdAt]: new DateField(),
|
1098
|
-
[AITableFieldType.updatedAt]: new DateField(),
|
1099
|
-
[AITableFieldType.number]: new NumberField(),
|
1100
|
-
[AITableFieldType.rate]: new RateField(),
|
1101
|
-
[AITableFieldType.link]: new LinkField(),
|
1102
|
-
[AITableFieldType.member]: new MemberField(),
|
1103
|
-
[AITableFieldType.progress]: new NumberField(),
|
1104
|
-
[AITableFieldType.createdBy]: new MemberField(),
|
1105
|
-
[AITableFieldType.updatedBy]: new MemberField()
|
1106
|
-
};
|
1107
|
-
|
1108
702
|
function getSortRecords(aiTable, records, activeView) {
|
1109
703
|
if (!activeView?.settings || !activeView.settings.sorts?.length) {
|
1110
704
|
return records;
|
@@ -1792,11 +1386,7 @@ const RemoveRecordsItem = {
|
|
1792
1386
|
name: '删除行',
|
1793
1387
|
icon: 'trash',
|
1794
1388
|
exec: (aiTable, targetName, position, aiTableGridSelectionService) => {
|
1795
|
-
let selectedRecordIds =
|
1796
|
-
if (!selectedRecordIds.length) {
|
1797
|
-
const recordId = getDetailByTargetName(targetName).recordId;
|
1798
|
-
selectedRecordIds = [recordId];
|
1799
|
-
}
|
1389
|
+
let selectedRecordIds = AITable.getSelectedRecordIds(aiTable);
|
1800
1390
|
selectedRecordIds.forEach((id) => {
|
1801
1391
|
Actions.removeRecord(aiTable, [id]);
|
1802
1392
|
});
|
@@ -1810,5 +1400,5 @@ const VIEW_ACTIONS = [ActionName.SetView, ActionName.AddView, ActionName.RemoveV
|
|
1810
1400
|
* Generated bundle index. Do not edit.
|
1811
1401
|
*/
|
1812
1402
|
|
1813
|
-
export { AITableFilterLogical,
|
1403
|
+
export { AITableFilterLogical, AI_TABLE_CONTENT_FIELD_NAME, ActionName, Actions, Direction, DividerMenuItem, EditFieldPropertyItem, ExecuteType, FLUSHING, Positions, RemovePositions, RemoveRecordsItem, SystemFieldIndex, VIEW_ACTIONS, YjsAITable, actionMappers, addFields, addRecords, addView, applyActionOps, applyEvents, applyYjsEvents, buildFieldsByView, buildRecordsByView, buildRemoveFieldItem, createDefaultPositions, createSharedType, doFilter, getCustomFieldValues, getDataBySharedType, getDefaultRecordDataByFilter, getDefaultRecordValues, getFilteredRecords, getIdBySystemFieldValues, getIdBySystemFieldValuesType, getPosition, getPositionsByRecordSyncElement, getPositionsBySystemFieldValues, getRecordsBySharedJson, getShareTypeNumberPath, getSharedMapValueId, getSharedMapValueIndex, getSharedRecord, getSharedRecordId, getSharedRecordIndex, getSharedTypeByData, getShortIdBySystemFieldValues, getSortFields, getSortRecords, getSystemFieldValues, getTrackableEntityBySystemFieldValues, getValuesByCustomFieldValues, isPathEqual, removeView, setRecordPositions$1 as setRecordPositions, setRecordUpdatedInfo, sortByViewPosition, sortRecordsBySortInfo, toRecordSyncElement, toSharedType, toSyncElement, translatePositionToPath, translateYjsEvent, updateFieldValue, updateRecordsUpdatedInfo, withState };
|
1814
1404
|
//# sourceMappingURL=ai-table-state.mjs.map
|