@nocobase/plugin-map 0.11.1-alpha.5 → 0.12.0-alpha.1

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.
Files changed (197) hide show
  1. package/client.d.ts +2 -3
  2. package/client.js +1 -1
  3. package/dist/client/index.js +3092 -0
  4. package/{lib → dist}/index.d.ts +1 -0
  5. package/dist/index.js +18 -0
  6. package/dist/locale/en-US.js +6 -0
  7. package/dist/locale/fr-FR.js +6 -0
  8. package/dist/locale/pt-BR.js +51 -0
  9. package/dist/locale/zh-CN.js +54 -0
  10. package/dist/server/actions/index.js +43 -0
  11. package/dist/server/collections/mapConfiguration.js +32 -0
  12. package/dist/server/constants.js +5 -0
  13. package/dist/server/fields/circle.js +47 -0
  14. package/dist/server/fields/index.js +33 -0
  15. package/dist/server/fields/lineString.js +54 -0
  16. package/dist/server/fields/point.js +57 -0
  17. package/dist/server/fields/polygon.js +53 -0
  18. package/dist/server/helpers/index.js +31 -0
  19. package/dist/server/index.js +11 -0
  20. package/dist/server/plugin.js +59 -0
  21. package/dist/server/value-parsers/index.js +53 -0
  22. package/docs/en-US/changelog.md +1 -0
  23. package/docs/en-US/index.md +1 -0
  24. package/docs/en-US/installation.md +1 -0
  25. package/docs/en-US/tabs.json +18 -0
  26. package/docs/en-US/usage.md +1 -0
  27. package/docs/zh-CN/changelog.md +1 -0
  28. package/docs/zh-CN/index.md +1 -0
  29. package/docs/zh-CN/installation.md +1 -0
  30. package/docs/zh-CN/tabs.json +18 -0
  31. package/docs/zh-CN/usage.md +1 -0
  32. package/package.json +19 -30
  33. package/server.d.ts +2 -3
  34. package/server.js +1 -1
  35. package/lib/client/block/MapActionInitializers.js +0 -93
  36. package/lib/client/block/MapBlock.js +0 -38
  37. package/lib/client/block/MapBlockDesigner.js +0 -196
  38. package/lib/client/block/MapBlockInitializer.js +0 -124
  39. package/lib/client/block/MapBlockProvider.js +0 -91
  40. package/lib/client/block/index.js +0 -58
  41. package/lib/client/block/utils.js +0 -102
  42. package/lib/client/components/AMap/Block.js +0 -350
  43. package/lib/client/components/AMap/Map.js +0 -458
  44. package/lib/client/components/AMap/Search.js +0 -121
  45. package/lib/client/components/AMap/index.js +0 -27
  46. package/lib/client/components/Configuration.js +0 -160
  47. package/lib/client/components/Designer.js +0 -167
  48. package/lib/client/components/GoogleMaps/Block.js +0 -370
  49. package/lib/client/components/GoogleMaps/Map.js +0 -466
  50. package/lib/client/components/GoogleMaps/Search.js +0 -128
  51. package/lib/client/components/GoogleMaps/index.js +0 -27
  52. package/lib/client/components/GoogleMaps/utils.js +0 -44
  53. package/lib/client/components/Map.js +0 -50
  54. package/lib/client/components/MapBlock.js +0 -40
  55. package/lib/client/components/MapComponent.js +0 -42
  56. package/lib/client/components/ReadPretty.js +0 -56
  57. package/lib/client/components/index.js +0 -71
  58. package/lib/client/constants.js +0 -19
  59. package/lib/client/fields/circle.js +0 -32
  60. package/lib/client/fields/index.js +0 -17
  61. package/lib/client/fields/lineString.js +0 -32
  62. package/lib/client/fields/point.js +0 -32
  63. package/lib/client/fields/polygon.js +0 -32
  64. package/lib/client/fields/schema.js +0 -64
  65. package/lib/client/hooks/index.js +0 -16
  66. package/lib/client/hooks/useMapConfiguration.js +0 -54
  67. package/lib/client/index.js +0 -73
  68. package/lib/client/initialize.js +0 -50
  69. package/lib/client/locale/index.js +0 -38
  70. package/lib/client/types.js +0 -5
  71. package/lib/client/utils.js +0 -1
  72. package/lib/index.js +0 -13
  73. package/lib/locale/en-US.js +0 -9
  74. package/lib/locale/fr-FR.js +0 -9
  75. package/lib/locale/pt-BR.js +0 -54
  76. package/lib/locale/zh-CN.js +0 -57
  77. package/lib/server/actions/index.js +0 -55
  78. package/lib/server/collections/mapConfiguration.js +0 -30
  79. package/lib/server/constants.js +0 -8
  80. package/lib/server/fields/circle.js +0 -58
  81. package/lib/server/fields/index.js +0 -49
  82. package/lib/server/fields/lineString.js +0 -65
  83. package/lib/server/fields/point.js +0 -68
  84. package/lib/server/fields/polygon.js +0 -64
  85. package/lib/server/helpers/index.js +0 -32
  86. package/lib/server/index.js +0 -13
  87. package/lib/server/plugin.js +0 -79
  88. package/lib/server/value-parsers/index.js +0 -75
  89. package/src/client/block/MapActionInitializers.tsx +0 -97
  90. package/src/client/block/MapBlock.tsx +0 -11
  91. package/src/client/block/MapBlockDesigner.tsx +0 -161
  92. package/src/client/block/MapBlockInitializer.tsx +0 -91
  93. package/src/client/block/MapBlockProvider.tsx +0 -55
  94. package/src/client/block/index.tsx +0 -35
  95. package/src/client/block/utils.ts +0 -81
  96. package/src/client/components/AMap/Block.tsx +0 -314
  97. package/src/client/components/AMap/Map.tsx +0 -461
  98. package/src/client/components/AMap/Search.tsx +0 -92
  99. package/src/client/components/AMap/index.ts +0 -2
  100. package/src/client/components/Configuration.tsx +0 -117
  101. package/src/client/components/Designer.tsx +0 -147
  102. package/src/client/components/GoogleMaps/Block.tsx +0 -341
  103. package/src/client/components/GoogleMaps/Map.tsx +0 -470
  104. package/src/client/components/GoogleMaps/Search.tsx +0 -107
  105. package/src/client/components/GoogleMaps/index.ts +0 -2
  106. package/src/client/components/GoogleMaps/utils.ts +0 -33
  107. package/src/client/components/Map.tsx +0 -33
  108. package/src/client/components/MapBlock.tsx +0 -24
  109. package/src/client/components/MapComponent.tsx +0 -23
  110. package/src/client/components/ReadPretty.tsx +0 -28
  111. package/src/client/components/index.ts +0 -6
  112. package/src/client/constants.ts +0 -11
  113. package/src/client/fields/circle.ts +0 -23
  114. package/src/client/fields/index.ts +0 -11
  115. package/src/client/fields/lineString.ts +0 -23
  116. package/src/client/fields/point.ts +0 -23
  117. package/src/client/fields/polygon.ts +0 -23
  118. package/src/client/fields/schema.ts +0 -54
  119. package/src/client/hooks/index.ts +0 -1
  120. package/src/client/hooks/useMapConfiguration.ts +0 -42
  121. package/src/client/index.tsx +0 -55
  122. package/src/client/initialize.tsx +0 -32
  123. package/src/client/locale/index.ts +0 -19
  124. package/src/client/types.ts +0 -1
  125. package/src/client/utils.ts +0 -0
  126. package/src/index.ts +0 -1
  127. package/src/locale/en-US.ts +0 -3
  128. package/src/locale/fr-FR.ts +0 -3
  129. package/src/locale/pt-BR.ts +0 -51
  130. package/src/locale/zh-CN.ts +0 -52
  131. package/src/server/__tests__/fields.test.ts +0 -157
  132. package/src/server/actions/index.ts +0 -44
  133. package/src/server/collections/mapConfiguration.ts +0 -29
  134. package/src/server/constants.ts +0 -1
  135. package/src/server/fields/.gitkeep +0 -0
  136. package/src/server/fields/circle.ts +0 -48
  137. package/src/server/fields/index.ts +0 -4
  138. package/src/server/fields/lineString.ts +0 -55
  139. package/src/server/fields/point.ts +0 -58
  140. package/src/server/fields/polygon.ts +0 -54
  141. package/src/server/helpers/index.ts +0 -25
  142. package/src/server/index.ts +0 -1
  143. package/src/server/plugin.ts +0 -57
  144. package/src/server/value-parsers/index.ts +0 -55
  145. /package/{lib → dist}/client/block/MapActionInitializers.d.ts +0 -0
  146. /package/{lib → dist}/client/block/MapBlock.d.ts +0 -0
  147. /package/{lib → dist}/client/block/MapBlockDesigner.d.ts +0 -0
  148. /package/{lib → dist}/client/block/MapBlockInitializer.d.ts +0 -0
  149. /package/{lib → dist}/client/block/MapBlockProvider.d.ts +0 -0
  150. /package/{lib → dist}/client/block/index.d.ts +0 -0
  151. /package/{lib → dist}/client/block/utils.d.ts +0 -0
  152. /package/{lib → dist}/client/components/AMap/Block.d.ts +0 -0
  153. /package/{lib → dist}/client/components/AMap/Map.d.ts +0 -0
  154. /package/{lib → dist}/client/components/AMap/Search.d.ts +0 -0
  155. /package/{lib → dist}/client/components/AMap/index.d.ts +0 -0
  156. /package/{lib → dist}/client/components/Configuration.d.ts +0 -0
  157. /package/{lib → dist}/client/components/Designer.d.ts +0 -0
  158. /package/{lib → dist}/client/components/GoogleMaps/Block.d.ts +0 -0
  159. /package/{lib → dist}/client/components/GoogleMaps/Map.d.ts +0 -0
  160. /package/{lib → dist}/client/components/GoogleMaps/Search.d.ts +0 -0
  161. /package/{lib → dist}/client/components/GoogleMaps/index.d.ts +0 -0
  162. /package/{lib → dist}/client/components/GoogleMaps/utils.d.ts +0 -0
  163. /package/{lib → dist}/client/components/Map.d.ts +0 -0
  164. /package/{lib → dist}/client/components/MapBlock.d.ts +0 -0
  165. /package/{lib → dist}/client/components/MapComponent.d.ts +0 -0
  166. /package/{lib → dist}/client/components/ReadPretty.d.ts +0 -0
  167. /package/{lib → dist}/client/components/index.d.ts +0 -0
  168. /package/{lib → dist}/client/constants.d.ts +0 -0
  169. /package/{lib → dist}/client/fields/circle.d.ts +0 -0
  170. /package/{lib → dist}/client/fields/index.d.ts +0 -0
  171. /package/{lib → dist}/client/fields/lineString.d.ts +0 -0
  172. /package/{lib → dist}/client/fields/point.d.ts +0 -0
  173. /package/{lib → dist}/client/fields/polygon.d.ts +0 -0
  174. /package/{lib → dist}/client/fields/schema.d.ts +0 -0
  175. /package/{lib → dist}/client/hooks/index.d.ts +0 -0
  176. /package/{lib → dist}/client/hooks/useMapConfiguration.d.ts +0 -0
  177. /package/{lib → dist}/client/index.d.ts +0 -0
  178. /package/{lib → dist}/client/initialize.d.ts +0 -0
  179. /package/{lib → dist}/client/locale/index.d.ts +0 -0
  180. /package/{lib → dist}/client/types.d.ts +0 -0
  181. /package/{lib → dist}/client/utils.d.ts +0 -0
  182. /package/{lib → dist}/locale/en-US.d.ts +0 -0
  183. /package/{lib → dist}/locale/fr-FR.d.ts +0 -0
  184. /package/{lib → dist}/locale/pt-BR.d.ts +0 -0
  185. /package/{lib → dist}/locale/zh-CN.d.ts +0 -0
  186. /package/{lib → dist}/server/actions/index.d.ts +0 -0
  187. /package/{lib → dist}/server/collections/mapConfiguration.d.ts +0 -0
  188. /package/{lib → dist}/server/constants.d.ts +0 -0
  189. /package/{lib → dist}/server/fields/circle.d.ts +0 -0
  190. /package/{lib → dist}/server/fields/index.d.ts +0 -0
  191. /package/{lib → dist}/server/fields/lineString.d.ts +0 -0
  192. /package/{lib → dist}/server/fields/point.d.ts +0 -0
  193. /package/{lib → dist}/server/fields/polygon.d.ts +0 -0
  194. /package/{lib → dist}/server/helpers/index.d.ts +0 -0
  195. /package/{lib → dist}/server/index.d.ts +0 -0
  196. /package/{lib → dist}/server/plugin.d.ts +0 -0
  197. /package/{lib → dist}/server/value-parsers/index.d.ts +0 -0
@@ -1,58 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.MapBlockOptions = void 0;
7
- function _client() {
8
- const data = require("@nocobase/client");
9
- _client = function _client() {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _react() {
15
- const data = _interopRequireWildcard(require("react"));
16
- _react = function _react() {
17
- return data;
18
- };
19
- return data;
20
- }
21
- var _locale = require("../locale");
22
- var _MapActionInitializers = require("./MapActionInitializers");
23
- var _MapBlock = require("./MapBlock");
24
- var _MapBlockDesigner = require("./MapBlockDesigner");
25
- var _MapBlockInitializer = require("./MapBlockInitializer");
26
- var _MapBlockProvider = require("./MapBlockProvider");
27
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
- const MapBlockOptions = props => {
30
- const items = (0, _react().useContext)(_client().SchemaInitializerContext);
31
- const children = items.BlockInitializers.items[0].children;
32
- (0, _react().useEffect)(() => {
33
- if (!children.find(item => item.component === 'MapBlockInitializer')) {
34
- children.push({
35
- key: 'mapBlock',
36
- type: 'item',
37
- title: (0, _locale.generateNTemplate)('Map'),
38
- component: 'MapBlockInitializer'
39
- });
40
- }
41
- }, []);
42
- return _react().default.createElement(_client().SchemaInitializerProvider, {
43
- initializers: {
44
- MapActionInitializers: _MapActionInitializers.MapActionInitializers
45
- }
46
- }, _react().default.createElement(_client().SchemaComponentOptions, {
47
- scope: {
48
- useMapBlockProps: _MapBlockProvider.useMapBlockProps
49
- },
50
- components: {
51
- MapBlockInitializer: _MapBlockInitializer.MapBlockInitializer,
52
- MapBlockDesigner: _MapBlockDesigner.MapBlockDesigner,
53
- MapBlockProvider: _MapBlockProvider.MapBlockProvider,
54
- MapBlock: _MapBlock.MapBlock
55
- }
56
- }, props.children));
57
- };
58
- exports.MapBlockOptions = MapBlockOptions;
@@ -1,102 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createMapBlockSchema = void 0;
7
- function _shared() {
8
- const data = require("@formily/shared");
9
- _shared = function _shared() {
10
- return data;
11
- };
12
- return data;
13
- }
14
- const _excluded = ["collection", "resource", "fieldNames"];
15
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
19
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
20
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
21
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
22
- const createMapBlockSchema = options => {
23
- const collection = options.collection,
24
- resource = options.resource,
25
- fieldNames = options.fieldNames,
26
- others = _objectWithoutProperties(options, _excluded);
27
- const schema = {
28
- type: 'void',
29
- 'x-acl-action': `${resource || collection}:list`,
30
- 'x-decorator': 'MapBlockProvider',
31
- 'x-decorator-props': _objectSpread({
32
- collection: collection,
33
- resource: resource || collection,
34
- action: 'list',
35
- fieldNames,
36
- params: {
37
- paginate: false
38
- }
39
- }, others),
40
- 'x-designer': 'MapBlockDesigner',
41
- 'x-component': 'CardItem',
42
- // 保存当前筛选区块所能过滤的数据区块
43
- 'x-filter-targets': [],
44
- properties: {
45
- actions: {
46
- type: 'void',
47
- 'x-initializer': 'MapActionInitializers',
48
- 'x-component': 'ActionBar',
49
- 'x-component-props': {
50
- style: {
51
- marginBottom: 16
52
- }
53
- },
54
- properties: {}
55
- },
56
- [(0, _shared().uid)()]: {
57
- type: 'void',
58
- 'x-component': 'MapBlock',
59
- 'x-component-props': {
60
- useProps: '{{ useMapBlockProps }}'
61
- },
62
- properties: {
63
- drawer: {
64
- type: 'void',
65
- 'x-component': 'Action.Drawer',
66
- 'x-component-props': {
67
- className: 'nb-action-popup'
68
- },
69
- title: '{{ t("View record") }}',
70
- properties: {
71
- tabs: {
72
- type: 'void',
73
- 'x-component': 'Tabs',
74
- 'x-component-props': {},
75
- 'x-initializer': 'TabPaneInitializers',
76
- properties: {
77
- tab1: {
78
- type: 'void',
79
- title: '{{t("Details")}}',
80
- 'x-component': 'Tabs.TabPane',
81
- 'x-designer': 'Tabs.Designer',
82
- 'x-component-props': {},
83
- properties: {
84
- grid: {
85
- type: 'void',
86
- 'x-component': 'Grid',
87
- 'x-initializer': 'RecordBlockInitializers',
88
- properties: {}
89
- }
90
- }
91
- }
92
- }
93
- }
94
- }
95
- }
96
- }
97
- }
98
- }
99
- };
100
- return schema;
101
- };
102
- exports.createMapBlockSchema = createMapBlockSchema;
@@ -1,350 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.AMapBlock = void 0;
7
- function _icons() {
8
- const data = require("@ant-design/icons");
9
- _icons = function _icons() {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _react() {
15
- const data = require("@formily/react");
16
- _react = function _react() {
17
- return data;
18
- };
19
- return data;
20
- }
21
- function _client() {
22
- const data = require("@nocobase/client");
23
- _client = function _client() {
24
- return data;
25
- };
26
- return data;
27
- }
28
- function _ahooks() {
29
- const data = require("ahooks");
30
- _ahooks = function _ahooks() {
31
- return data;
32
- };
33
- return data;
34
- }
35
- function _antd() {
36
- const data = require("antd");
37
- _antd = function _antd() {
38
- return data;
39
- };
40
- return data;
41
- }
42
- function _react2() {
43
- const data = _interopRequireWildcard(require("react"));
44
- _react2 = function _react2() {
45
- return data;
46
- };
47
- return data;
48
- }
49
- var _constants = require("../../constants");
50
- var _locale = require("../../locale");
51
- var _Map = require("./Map");
52
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
53
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
54
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
55
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
56
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
57
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
58
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
59
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
60
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
61
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
62
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
63
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
64
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
65
- const AMapBlock = props => {
66
- var _mapRef$current, _mapRef$current$aMap, _field$uiSchema;
67
- const _useProps = (0, _client().useProps)(props),
68
- fieldNames = _useProps.fieldNames,
69
- _useProps$dataSource = _useProps.dataSource,
70
- dataSource = _useProps$dataSource === void 0 ? [] : _useProps$dataSource,
71
- fixedBlock = _useProps.fixedBlock,
72
- zoom = _useProps.zoom,
73
- setSelectedRecordKeys = _useProps.setSelectedRecordKeys;
74
- const _useCollection = (0, _client().useCollection)(),
75
- getField = _useCollection.getField,
76
- getPrimaryKey = _useCollection.getPrimaryKey;
77
- const field = getField(fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.field);
78
- const _useState = (0, _react2().useState)(false),
79
- _useState2 = _slicedToArray(_useState, 2),
80
- isMapInitialization = _useState2[0],
81
- setIsMapInitialization = _useState2[1];
82
- const mapRef = (0, _react2().useRef)();
83
- const geometryUtils = (_mapRef$current = mapRef.current) === null || _mapRef$current === void 0 ? void 0 : (_mapRef$current$aMap = _mapRef$current.aMap) === null || _mapRef$current$aMap === void 0 ? void 0 : _mapRef$current$aMap.GeometryUtil;
84
- const _useState3 = (0, _react2().useState)(),
85
- _useState4 = _slicedToArray(_useState3, 2),
86
- record = _useState4[0],
87
- setRecord = _useState4[1];
88
- const _useState5 = (0, _react2().useState)(''),
89
- _useState6 = _slicedToArray(_useState5, 2),
90
- selectingMode = _useState6[0],
91
- setSelecting = _useState6[1];
92
- const _useMapTranslation = (0, _locale.useMapTranslation)(),
93
- t = _useMapTranslation.t;
94
- const compile = (0, _client().useCompile)();
95
- const _useFilterAPI = (0, _client().useFilterAPI)(),
96
- isConnected = _useFilterAPI.isConnected,
97
- doFilter = _useFilterAPI.doFilter;
98
- const _useState7 = (0, _react2().useState)(null),
99
- _useState8 = _slicedToArray(_useState7, 2),
100
- setPrevSelected = _useState8[1];
101
- const selectingModeRef = (0, _react2().useRef)(selectingMode);
102
- selectingModeRef.current = selectingMode;
103
- const setOverlayOptions = (overlay, state) => {
104
- const extData = overlay.getExtData();
105
- const selected = typeof state === 'undefined' ? extData.selected : !state;
106
- extData.selected = !selected;
107
- if ('setIcon' in overlay) {
108
- overlay.setIcon(new mapRef.current.aMap.Icon({
109
- imageSize: [19, 32],
110
- image: selected ? _constants.defaultImage : _constants.selectedImage
111
- }));
112
- }
113
- overlay.setOptions(_objectSpread({
114
- extData
115
- }, selected ? {
116
- strokeColor: '#4e9bff',
117
- fillColor: '#4e9bff'
118
- } : {
119
- strokeColor: '#F18b62',
120
- fillColor: '#F18b62'
121
- }));
122
- };
123
- const removeSelection = () => {
124
- if (!mapRef.current) return;
125
- mapRef.current.mouseTool().close(true);
126
- mapRef.current.editor().setTarget(null);
127
- mapRef.current.editor().close();
128
- };
129
- // selection
130
- (0, _react2().useEffect)(() => {
131
- if (selectingMode !== 'selection') {
132
- return;
133
- }
134
- if (!mapRef.current.editor()) {
135
- mapRef.current.createEditor('polygon');
136
- mapRef.current.createMouseTool('polygon');
137
- } else {
138
- mapRef.current.executeMouseTool('polygon');
139
- }
140
- return () => {
141
- removeSelection();
142
- };
143
- }, [selectingMode]);
144
- (0, _react2().useEffect)(() => {
145
- if (selectingMode) {
146
- return () => {
147
- if (!selectingModeRef.current) {
148
- mapRef.current.map.getAllOverlays().forEach(o => {
149
- setOverlayOptions(o, false);
150
- });
151
- }
152
- };
153
- }
154
- }, [selectingMode]);
155
- const onSelectingComplete = (0, _ahooks().useMemoizedFn)(() => {
156
- const selectingOverlay = mapRef.current.editor().getTarget();
157
- const overlays = mapRef.current.map.getAllOverlays();
158
- const selectedOverlays = overlays.filter(o => {
159
- if (o === selectingOverlay || o.getExtData().id === undefined) return;
160
- if ('getPosition' in o) {
161
- return geometryUtils.isPointInRing(o.getPosition(), selectingOverlay.getPath());
162
- }
163
- return geometryUtils.doesRingRingIntersect(o.getPath(), selectingOverlay.getPath());
164
- });
165
- const ids = selectedOverlays.map(o => {
166
- setOverlayOptions(o, true);
167
- return o.getExtData().id;
168
- });
169
- setSelectedRecordKeys(lastIds => ids.concat(lastIds));
170
- selectingOverlay.remove();
171
- mapRef.current.editor().close();
172
- });
173
- (0, _react2().useEffect)(() => {
174
- var _mapRef$current$map;
175
- if (!field || !mapRef.current) return;
176
- const overlays = dataSource.map(item => {
177
- const data = item[fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.field];
178
- if (!data) return;
179
- const overlay = mapRef.current.setOverlay(field.type, data, {
180
- strokeColor: '#4e9bff',
181
- fillColor: '#4e9bff',
182
- cursor: 'pointer',
183
- label: {
184
- direction: 'bottom',
185
- offset: [0, 5],
186
- content: fieldNames !== null && fieldNames !== void 0 && fieldNames.marker ? compile(item[fieldNames.marker]) : undefined
187
- },
188
- extData: {
189
- id: item[getPrimaryKey()]
190
- }
191
- });
192
- return overlay;
193
- }).filter(Boolean);
194
- (_mapRef$current$map = mapRef.current.map) === null || _mapRef$current$map === void 0 ? void 0 : _mapRef$current$map.setFitView(overlays);
195
- const events = overlays.map(o => {
196
- const onClick = e => {
197
- const overlay = e.target;
198
- const extData = overlay.getExtData();
199
- if (!extData) return;
200
- if (selectingModeRef.current) {
201
- if (selectingModeRef.current === 'click') {
202
- setSelectedRecordKeys(keys => extData.selected ? keys.filter(key => key !== extData.id) : [...keys, extData.id]);
203
- setOverlayOptions(overlay);
204
- }
205
- return;
206
- }
207
- const data = dataSource === null || dataSource === void 0 ? void 0 : dataSource.find(item => {
208
- return extData.id === item[getPrimaryKey()];
209
- });
210
- // 筛选区块模式
211
- if (isConnected) {
212
- setPrevSelected(prev => {
213
- prev && clearSelected(prev);
214
- if (prev === o) {
215
- clearSelected(o);
216
- // 删除过滤参数
217
- doFilter(null);
218
- return null;
219
- } else {
220
- selectMarker(o);
221
- doFilter(data[getPrimaryKey()], target => target.field || getPrimaryKey(), '$eq');
222
- }
223
- return o;
224
- });
225
- return;
226
- }
227
- if (data) {
228
- setRecord(data);
229
- }
230
- };
231
- o.on('click', onClick);
232
- return () => o.off('click', onClick);
233
- });
234
- return () => {
235
- overlays.forEach(ov => {
236
- ov.remove();
237
- });
238
- events.forEach(e => e());
239
- };
240
- }, [dataSource, isMapInitialization, fieldNames, field.type, isConnected]);
241
- (0, _react2().useEffect)(() => {
242
- setTimeout(() => {
243
- setSelectedRecordKeys([]);
244
- });
245
- }, [dataSource]);
246
- const mapRefCallback = instance => {
247
- mapRef.current = instance;
248
- setIsMapInitialization(!!(instance !== null && instance !== void 0 && instance.map) && !instance.errMessage);
249
- };
250
- return _react2().default.createElement("div", {
251
- className: (0, _client().css)`
252
- position: relative;
253
- height: 100%;
254
- `
255
- }, _react2().default.createElement("div", {
256
- className: (0, _client().css)`
257
- position: absolute;
258
- left: 10px;
259
- top: 10px;
260
- z-index: 999;
261
- `
262
- }, isMapInitialization && !mapRef.current.errMessage ? _react2().default.createElement(_antd().Space, {
263
- direction: "vertical"
264
- }, _react2().default.createElement(_antd().Button, {
265
- style: {
266
- color: !selectingMode ? '#F18b62' : undefined,
267
- borderColor: 'currentcolor'
268
- },
269
- onClick: e => {
270
- e.stopPropagation();
271
- setSelecting('');
272
- },
273
- icon: _react2().default.createElement(_icons().EnvironmentOutlined, null)
274
- }), _react2().default.createElement(_antd().Button, {
275
- style: {
276
- color: selectingMode === 'selection' ? '#F18b62' : undefined,
277
- borderColor: 'currentcolor'
278
- },
279
- onClick: e => {
280
- e.stopPropagation();
281
- setSelecting('selection');
282
- },
283
- icon: _react2().default.createElement(_icons().ExpandOutlined, null)
284
- }), selectingMode === 'selection' ? _react2().default.createElement(_antd().Button, {
285
- type: "primary",
286
- icon: _react2().default.createElement(_icons().CheckOutlined, null),
287
- title: t('Confirm selection'),
288
- onClick: onSelectingComplete
289
- }) : null) : null), _react2().default.createElement(MapBlockDrawer, {
290
- record: record,
291
- setVisible: setRecord
292
- }), _react2().default.createElement(_Map.AMapComponent, _objectSpread(_objectSpread({}, field === null || field === void 0 ? void 0 : (_field$uiSchema = field.uiSchema) === null || _field$uiSchema === void 0 ? void 0 : _field$uiSchema['x-component-props']), {}, {
293
- ref: mapRefCallback,
294
- style: {
295
- height: fixedBlock ? '100%' : null
296
- },
297
- zoom: zoom,
298
- disabled: true,
299
- block: true,
300
- overlayCommonOptions: {
301
- strokeColor: '#F18b62',
302
- fillColor: '#F18b62'
303
- }
304
- })));
305
- };
306
- exports.AMapBlock = AMapBlock;
307
- const MapBlockDrawer = props => {
308
- const setVisible = props.setVisible,
309
- record = props.record;
310
- const fieldSchema = (0, _react().useFieldSchema)();
311
- const schema = (0, _react2().useMemo)(() => fieldSchema.reduceProperties((buf, current) => {
312
- if (current.name === 'drawer') {
313
- return current;
314
- }
315
- return buf;
316
- }, null), [fieldSchema]);
317
- return schema && _react2().default.createElement(_client().ActionContextProvider, {
318
- value: {
319
- visible: !!record,
320
- setVisible
321
- }
322
- }, _react2().default.createElement(_client().RecordProvider, {
323
- record: record
324
- }, _react2().default.createElement(_react().RecursionField, {
325
- schema: schema,
326
- name: schema.name
327
- })));
328
- };
329
- function clearSelected(marker) {
330
- if (marker.dom) {
331
- marker.dom.style.filter = 'none';
332
- // AMap.Polygon | AMap.Polyline | AMap.Circle 都有 setOptions 方法
333
- } else if (marker.setOptions) {
334
- marker.setOptions({
335
- strokeColor: '#4e9bff',
336
- fillColor: '#4e9bff'
337
- });
338
- }
339
- }
340
- function selectMarker(marker) {
341
- if (marker.dom) {
342
- marker.dom.style.filter = 'brightness(1.2) contrast(1.2) hue-rotate(180deg)';
343
- // AMap.Polygon | AMap.Polyline | AMap.Circle 都有 setOptions 方法
344
- } else if (marker.setOptions) {
345
- marker.setOptions({
346
- strokeColor: '#F18b62',
347
- fillColor: '#F18b62'
348
- });
349
- }
350
- }