plmt-constructor-sdk 0.17.2 → 0.17.4

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 (3) hide show
  1. package/package.json +1 -1
  2. package/widget.d.ts +110 -0
  3. package/widget.js +16 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "plmt-constructor-sdk",
3
- "version": "0.17.2",
3
+ "version": "0.17.4",
4
4
  "description": "Набор инструментов для создания виджетов.",
5
5
  "dependencies": {
6
6
  "logical-not": "^1.0.9"
package/widget.d.ts CHANGED
@@ -120,15 +120,125 @@ export interface CustomQueryFields {
120
120
  * При необходимости можно дополнять интерфейс
121
121
  */
122
122
  export declare type CustomDataRule = (AllColumnsHidden | HiddenColumnIds | ShowColumnIds) & {
123
+ /** Сортировка, которая будет отправлена в запросе*/
123
124
  sort?: {
124
125
  [id: number]: DataOptionSort;
125
126
  };
127
+ /** При установленном флаге будем получать полную информацию по установленным колонкам и данные им соответствующие
128
+ *
129
+ * В обычном случае данные получаются с бэка в соответствии с rules
130
+ *
131
+ * **С флагом**
132
+ *
133
+ * @example
134
+ * ```ts
135
+ * const rule: { [key: string]: CustomDataRule } = {
136
+ * dataKey: {
137
+ * getWithoutData: true,
138
+ * hiddenColumnIds: [12, 204],
139
+ * },
140
+ * };
141
+ *
142
+ * // В таком случае ответ с бэка будет следующим:
143
+ * // В colsByBlock будет:
144
+ * {
145
+ * // другие блоки колонок
146
+ * dataKey: [
147
+ * {
148
+ * type: 0,
149
+ * id: 12,
150
+ * path: '1',
151
+ * name: 'Имя',
152
+ * },
153
+ * {
154
+ * type: 0,
155
+ * id: 23,
156
+ * path: '2',
157
+ * name: 'Фамилия',
158
+ * },
159
+ * {
160
+ * type: 0,
161
+ * id: 204,
162
+ * path: '3',
163
+ * name: 'Отчество',
164
+ * },
165
+ * {
166
+ * type: 0,
167
+ * id: 24,
168
+ * path: '4',
169
+ * name: 'Род деятельности',
170
+ * },
171
+ * ],
172
+ * };
173
+ * ```
174
+ * // В data будет:
175
+ * ```ts
176
+ * [
177
+ * {
178
+ * 2: 'Егоров',
179
+ * 4: 'Строитель',
180
+ * },
181
+ * {
182
+ * 2: 'Иванов',
183
+ * 4: 'Программист',
184
+ * },
185
+ * ],
186
+ * ```
187
+ *
188
+ * **Без флага**
189
+ *
190
+ * ```ts
191
+ * const rule: { [key: string]: CustomDataRule } = {
192
+ * dataKey: {
193
+ * hiddenColumnIds: [12, 204],
194
+ * },
195
+ * };
196
+ *
197
+ * // В таком случае ответ с бэка будет следующим:
198
+ * // В colsByBlock будет:
199
+ * {
200
+ * // другие блоки колонок
201
+ * dataKey: [
202
+ * {
203
+ * type: 0,
204
+ * id: 23,
205
+ * path: '1',
206
+ * name: 'Фамилия',
207
+ * },
208
+ * {
209
+ * type: 0,
210
+ * id: 24,
211
+ * path: '2',
212
+ * name: 'Род деятельности',
213
+ * },
214
+ * ],
215
+ * };
216
+ *
217
+ * // В data будет:
218
+ * [
219
+ * {
220
+ * 1: 'Егоров',
221
+ * 2: 'Строитель',
222
+ * },
223
+ * {
224
+ * 1: 'Иванов',
225
+ * 2: 'Программист',
226
+ * },
227
+ * ],
228
+ * ```
229
+ */
230
+ getWithoutData?: true;
126
231
  };
127
232
  export interface HiddenColumnIds {
128
233
  hiddenColumnIds: number[];
129
234
  }
130
235
  export interface ShowColumnIds {
131
236
  showColumnIds: number[];
237
+ /** Колонки в виджете могут быть перемешаны относительно **dataSettings** виджета
238
+ * Если **shuffle** включён то поиск колонок из **showColumnIds** будет осуществляться по всем **dataOptions**
239
+ * и перемещать колонку из другого блока в текущий
240
+ */
241
+ shuffle?: true;
132
242
  }
133
243
  export interface DataOptionSort {
134
244
  column_id: number;
package/widget.js CHANGED
@@ -29,3 +29,19 @@ var WidgetRenderEnv;
29
29
  WidgetRenderEnv["Default"] = "default";
30
30
  WidgetRenderEnv["Print"] = "print";
31
31
  })(WidgetRenderEnv = exports.WidgetRenderEnv || (exports.WidgetRenderEnv = {}));
32
+ const a = {
33
+ dataKey: [
34
+ {
35
+ type: 0,
36
+ id: 199,
37
+ path: '2',
38
+ name: 'Товар.Категория',
39
+ },
40
+ {
41
+ type: 0,
42
+ id: 204,
43
+ path: '3',
44
+ name: 'Товар',
45
+ },
46
+ ],
47
+ };