@sumaris-net/ngx-components 18.14.15 → 18.14.17
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/doc/changelog.md +462 -128
- package/doc/feed/feed-fr.json +8 -6
- package/esm2022/public_api.mjs +4 -4
- package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +14 -1
- package/esm2022/src/app/shared/pipes/pipes.module.mjs +5 -2
- package/esm2022/src/app/social/feed/feed.component.mjs +3 -4
- package/esm2022/src/app/social/feed/feed.directive.mjs +4 -4
- package/esm2022/src/app/social/feed/feed.service.mjs +158 -2
- package/esm2022/src/app/social/message/message.form.mjs +4 -3
- package/esm2022/src/app/social/message/message.model.mjs +2 -2
- package/esm2022/src/environments/environment.mjs +4 -2
- package/fesm2022/sumaris-net.ngx-components.mjs +156 -312
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +0 -3
- package/src/app/shared/inputs.d.ts +1 -1
- package/src/app/shared/pipes/arrays.pipe.d.ts +5 -0
- package/src/app/shared/pipes/pipes.module.d.ts +1 -1
- package/src/app/social/feed/feed.directive.d.ts +1 -1
- package/src/app/social/feed/feed.service.d.ts +57 -0
- package/src/assets/manifest.json +1 -1
- package/esm2022/src/app/social/feed/discourse/discourse-feed.service.mjs +0 -170
- package/esm2022/src/app/social/feed/discourse/discourse.model.mjs +0 -2
- package/esm2022/src/app/social/feed/discourse/discourse.utils.mjs +0 -168
- package/src/app/social/feed/discourse/discourse-feed.service.d.ts +0 -56
- package/src/app/social/feed/discourse/discourse.model.d.ts +0 -7
- package/src/app/social/feed/discourse/discourse.utils.d.ts +0 -44
package/doc/changelog.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## 0.1.7
|
|
4
4
|
|
|
5
5
|
- enh: Menu: Allow dynamic insertion, using a new config options (see 'CORE_CONFIG_OPTIONS.MENU_ITEMS')
|
|
6
|
-
* Example:
|
|
6
|
+
* Example:
|
|
7
7
|
```js
|
|
8
8
|
const options = [
|
|
9
9
|
// Insert before'MENU.HOME'
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
- enh: CSS: new class '.visible-dirty' (e.g. `<ion-icon name="star" class="visible-dirty"></ion-icon>` in the `actions` column)
|
|
35
35
|
- enh: ValidatorService: add function getI18nErrors(control)
|
|
36
36
|
- enh: AppTable: add outputs 'onDirty', 'onError'
|
|
37
|
-
- enh: AppTable:
|
|
37
|
+
- enh: AppTable:
|
|
38
38
|
|
|
39
39
|
## 0.4.1
|
|
40
40
|
|
|
@@ -65,12 +65,12 @@
|
|
|
65
65
|
|
|
66
66
|
## 0.9.0
|
|
67
67
|
|
|
68
|
-
- enh: Autocomplete field: add config option `suggestLengthThreshold` to suggest after typing more than x characters
|
|
69
|
-
- enh: Autocomplete field: add config option `debounceTime`
|
|
68
|
+
- enh: Autocomplete field: add config option `suggestLengthThreshold` to suggest after typing more than x characters
|
|
69
|
+
- enh: Autocomplete field: add config option `debounceTime`
|
|
70
70
|
|
|
71
71
|
## 0.10.0
|
|
72
72
|
|
|
73
|
-
- enh: Add EntityClasses class: use it to get an entity class by name (need to use @EntityClass decorator on the class)
|
|
73
|
+
- enh: Add EntityClasses class: use it to get an entity class by name (need to use @EntityClass decorator on the class)
|
|
74
74
|
|
|
75
75
|
## 0.11.4
|
|
76
76
|
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
- fix: remove functions `isArray()` (please use `Array.isArray()` instead)
|
|
104
104
|
- enh: Add `AccountService.onChange: Subject` to listen account settings changes
|
|
105
105
|
- fix: Account model: use minify option to serialize as a POD object
|
|
106
|
-
- fix: AccountService: change some internal function's visibility, to protected
|
|
106
|
+
- fix: AccountService: change some internal function's visibility, to protected
|
|
107
107
|
- fix: InMemoryService: fix equals() default implementation (avoid infinite loop)
|
|
108
108
|
- fix: SCSS: Set mat-select-column to width: 50px, to make it compatible with sticky <mat-table>
|
|
109
109
|
- enh: Add ComponentDirtyGuard to public API
|
|
@@ -111,22 +111,22 @@
|
|
|
111
111
|
## 0.20.0
|
|
112
112
|
|
|
113
113
|
- fix: AppEntityEditor: remove confirmation before backClick (use ComponentDirtyGuard instead)
|
|
114
|
-
- fix: AppEntityEditor: cancel() will not ask a confirmation, because called by dirty guard).
|
|
114
|
+
- fix: AppEntityEditor: cancel() will not ask a confirmation, because called by dirty guard).
|
|
115
115
|
|
|
116
116
|
## 0.23.0
|
|
117
|
+
|
|
117
118
|
- fix: MatAutocompleteField: when escape event, close the panel and stop event's propagation
|
|
118
119
|
- fix: AppFormButtonsBar: when escape event, make sure preventDefault!=false before emit a back event
|
|
119
120
|
|
|
120
121
|
## 0.24.0
|
|
121
122
|
|
|
122
|
-
- fix: AppInstallUpgradeCard: use Cordova Downloader plugin, to download APK file correctly
|
|
123
|
+
- fix: AppInstallUpgradeCard: use Cordova Downloader plugin, to download APK file correctly
|
|
123
124
|
|
|
124
125
|
## 0.25.0
|
|
125
126
|
|
|
126
127
|
- enh: Add FormErrorAdapter service, configurable using an injection token APP_FORM_ERROR_I18N_KEYS
|
|
127
128
|
- enh: Add pipe 'translateFormError' to translate form error in HTML template
|
|
128
129
|
|
|
129
|
-
|
|
130
130
|
## 0.26.0
|
|
131
131
|
|
|
132
132
|
- enh: Rename FormErrorAdapter into FormErrorTranslator
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
|
|
144
144
|
## 1.0.0
|
|
145
145
|
|
|
146
|
-
- enh: Store local settings remotely
|
|
146
|
+
- enh: Store local settings remotely
|
|
147
147
|
- fix: Fix suggestFromArray when items is null
|
|
148
148
|
- fix: Fix parsing error, in GraphQL service (e.g error from Oracle database)
|
|
149
149
|
|
|
@@ -182,6 +182,7 @@ fix: MatChipsField: Fix 'focusOut' then 'focusIn' behavior
|
|
|
182
182
|
fix: MatAutocompleteField: Fix 'focusOut' then 'focusIn' behavior
|
|
183
183
|
|
|
184
184
|
# 1.6.18
|
|
185
|
+
|
|
185
186
|
fix: MatDateTimeField: Fix when no Keyboard plugin
|
|
186
187
|
|
|
187
188
|
# 1.7.0
|
|
@@ -223,24 +224,30 @@ enh: Autocomplete: Move result count in footer
|
|
|
223
224
|
|
|
224
225
|
# 1.12.4
|
|
225
226
|
|
|
226
|
-
fix: AppTable: Avoid deleting a row twice, when deleting an invalid row BUT not editing
|
|
227
|
+
fix: AppTable: Avoid deleting a row twice, when deleting an invalid row BUT not editing
|
|
227
228
|
|
|
228
229
|
# 1.12.13
|
|
230
|
+
|
|
229
231
|
enh: Add pipes formGet, formGetControl and formGetArray, to get a form controls
|
|
230
232
|
enh: Add pipe strIncludes
|
|
231
233
|
|
|
232
234
|
# 1.13.0
|
|
235
|
+
|
|
233
236
|
enh: Add utility class SharedAsyncValidators
|
|
234
237
|
enh: Add SharedAsyncValidators.registerAsyncValidator() to add long during validation job
|
|
235
238
|
fix: BaseEntityService: listenChanges() now return an empty observable, when not implemented, instead of error
|
|
236
239
|
fix: InstallUpgradeCard: do not show install link, on Windows touch screen
|
|
237
240
|
|
|
238
241
|
# 1.14.0
|
|
242
|
+
|
|
239
243
|
enh: Platform: auto reload web browser's page, if a new version is detected at startup
|
|
244
|
+
|
|
240
245
|
# 1.14.2
|
|
241
|
-
|
|
246
|
+
|
|
247
|
+
enh: Add DateUtils.resetTime(date, tz?: string)
|
|
242
248
|
|
|
243
249
|
# 1.15.0
|
|
250
|
+
|
|
244
251
|
fix: MateDateField: make sure to display errors
|
|
245
252
|
fix: MateDateField: Allow to show matPrefix (e.g. icon)
|
|
246
253
|
fix: MateDateField: Better management of mat-error
|
|
@@ -248,84 +255,104 @@ fix: MateDateTimeField: Add error for dateIsBefore
|
|
|
248
255
|
enh: SharedValidators: add new validator 'dateIsBefore'
|
|
249
256
|
|
|
250
257
|
# 1.15.1
|
|
258
|
+
|
|
251
259
|
fix: MateDateField: Add a timezone to serialize/deserialize date value
|
|
252
260
|
|
|
253
261
|
# 1.15.4
|
|
262
|
+
|
|
254
263
|
enh: MateDateField: Add an input 'datePickerFiler' to filter dates in picker
|
|
255
264
|
enh: MateDateTimeField: Add an input 'datePickerFiler' to filter dates in picker
|
|
256
265
|
|
|
257
266
|
# 1.15.9
|
|
267
|
+
|
|
258
268
|
fix: Editor listenChanges() should not update the cache, but call reload() when changes detected.
|
|
259
|
-
|
|
269
|
+
This will allow fetching partial graph in subscriptions
|
|
260
270
|
enh: Editor: show a toast when remote changes are detected
|
|
261
271
|
fix: Cache: minor fix
|
|
262
272
|
|
|
263
273
|
# 1.15.13
|
|
274
|
+
|
|
264
275
|
fix: File upload component: fix file/event management
|
|
265
276
|
enh: Add new pipe 'formGetGroup:<name>'
|
|
266
277
|
|
|
267
278
|
# 1.16.0
|
|
279
|
+
|
|
268
280
|
enh: Refactor JobUtils functions: 'progression' is now optional, and hold by options
|
|
269
281
|
|
|
270
282
|
# 1.17.0
|
|
283
|
+
|
|
271
284
|
fix: GraphQL: set NetworkStatus.error on error object in order to throw corresponding exception
|
|
272
285
|
|
|
273
286
|
# 1.17.1
|
|
287
|
+
|
|
274
288
|
fix: Hotkeys: Prevent global hotkeys when popover component exists
|
|
275
289
|
|
|
276
290
|
# 1.18.0
|
|
291
|
+
|
|
277
292
|
enh: Autocomplete field: Add search bar on mobile
|
|
278
293
|
fix: Autocomplete field: Fix style when multiple=true
|
|
279
294
|
fix: Autocomplete field: Fix default displayWith when multiple=true (manage array value)
|
|
280
|
-
fix: Exclude Windows from the platform mobile detection
|
|
295
|
+
fix: Exclude Windows from the platform mobile detection
|
|
281
296
|
|
|
282
297
|
# 1.18.4
|
|
298
|
+
|
|
283
299
|
fix: Autocomplete: fix search in mobile searchbar
|
|
284
300
|
enh: Material field components: allow to set 'required' as empty tag, and not only '[required]=true'
|
|
285
301
|
|
|
286
302
|
# 1.18.4
|
|
303
|
+
|
|
287
304
|
fix: Autocomplete: fix panel width, on small screens
|
|
288
305
|
|
|
289
306
|
# 1.18.7
|
|
290
|
-
|
|
307
|
+
|
|
308
|
+
fix: fix DateUtils.min() and DateUtils.max()
|
|
291
309
|
|
|
292
310
|
# 1.19.0
|
|
311
|
+
|
|
293
312
|
enh: Add a MessageModal, to compose message to users (internal or email messages)
|
|
294
313
|
fix: MatDateField: if not required, manually set a date will not apply the value to formControl
|
|
295
314
|
|
|
296
315
|
# 1.19.1
|
|
316
|
+
|
|
297
317
|
fix: Platform detection failed (infinite loop) on MacBook
|
|
298
318
|
|
|
299
319
|
# 1.19.2
|
|
320
|
+
|
|
300
321
|
fix: Platform detection cache
|
|
301
322
|
|
|
302
323
|
# 1.19.3
|
|
324
|
+
|
|
303
325
|
enh: AppForm now wait form not pending, before emitting onSubmit event
|
|
304
326
|
|
|
305
327
|
# 1.19.6
|
|
328
|
+
|
|
306
329
|
fix: Fix toolbar back button
|
|
307
330
|
fix: Autocomplete: Fix multiple values (displayValue was no shown)
|
|
308
331
|
fix: Autocomplete: avoid to many call to suggest, on mobile
|
|
309
332
|
fix: Autocomplete: use mat-option for searchbar, to have selected option is visible
|
|
310
333
|
fix: Install APK: make sure to have '.apk' at end of filename
|
|
311
334
|
fix: Auth modal: keep modal into loading, when waiting server response
|
|
312
|
-
enh: Create a specific card for offline mode update
|
|
335
|
+
enh: Create a specific card for offline mode update
|
|
313
336
|
fix: Entity storage: do NOT set skipIfPristine to false, when storage keep non local entities (e.g. OperationVO)
|
|
314
337
|
enh: Entity storage: persist() has a new option skipIfPristine, to be able to force all data to be stored, even if not dirty
|
|
315
338
|
|
|
316
339
|
# 1.19.7
|
|
340
|
+
|
|
317
341
|
enh: Add pipe 'formGetValue' that will listen value changes (from a form or a control)
|
|
318
342
|
|
|
319
343
|
# 1.19.16
|
|
344
|
+
|
|
320
345
|
fix: Date and Date Short field: optimize <mat-error> with a switch/case
|
|
321
346
|
fix: Lat/Long pipes: remove provider in root (not need on a pipe)
|
|
322
|
-
fix: SharedValidators: rename 'double' validator into 'decimal'. Now return an error 'decimal' when opts.maxDecimals is nil
|
|
347
|
+
fix: SharedValidators: rename 'double' validator into 'decimal'. Now return an error 'decimal' when opts.maxDecimals is nil
|
|
323
348
|
|
|
324
349
|
# 1.19.18
|
|
350
|
+
|
|
325
351
|
fix: Add a workaround to patch <html> class to 'plt-desktop', on Windows touch screen (fix sumaris-app issue #346)
|
|
326
352
|
enh: EntitiesStorage: detect platform pause, to force saving the storage
|
|
327
353
|
|
|
328
354
|
# 1.19.23
|
|
355
|
+
|
|
329
356
|
fix: Menu: avoid to many call of onLogin() function (add a distinctUntilChanged() filter)
|
|
330
357
|
fix: MateDateTime: set required validator using template, and no more by overriding formControl.validator (allow to change the required value)
|
|
331
358
|
fix: EntityEditor: wait end of saving, in waitIdle() function
|
|
@@ -334,16 +361,20 @@ fix: EntityEditor.load(): rename the unused options 'updateTabAndRoute' into 'up
|
|
|
334
361
|
fix: EntityEditor.load(): allow to reset to the first tab (e.g. when load another entity into an existing editor)
|
|
335
362
|
|
|
336
363
|
# 1.19.23
|
|
364
|
+
|
|
337
365
|
fix: Editor: allow to skip page history (computePageHistory can return 'undefined')
|
|
338
366
|
|
|
339
367
|
# 1.19.25
|
|
368
|
+
|
|
340
369
|
fix: Home: translate 'Loading...' message
|
|
341
370
|
|
|
342
371
|
# 1.19.28
|
|
372
|
+
|
|
343
373
|
enh: Add function escapeRegExp() to escape all special regexp characters
|
|
344
374
|
|
|
345
375
|
# 1.19.30
|
|
346
|
-
|
|
376
|
+
|
|
377
|
+
enh: Add argument to pipe 'formGetValue' to listen status change (e.g. to force update, when emitEvent: false)
|
|
347
378
|
|
|
348
379
|
# 1.20.0
|
|
349
380
|
|
|
@@ -352,367 +383,470 @@ enh: Menu: rename MenuService.menuVisible$ into MenuService.splitPaneWhen
|
|
|
352
383
|
|
|
353
384
|
# 1.20.2
|
|
354
385
|
|
|
355
|
-
enh: Material fields: add @Input() appearance
|
|
386
|
+
enh: Material fields: add @Input() appearance
|
|
356
387
|
|
|
357
388
|
# 1.20.3
|
|
358
|
-
|
|
389
|
+
|
|
390
|
+
enh: css-variables-to-root-mobile() will expose variables '--mat-tab-link-height' and '--mat-tab-bar-height'
|
|
359
391
|
|
|
360
392
|
# 1.20.4
|
|
393
|
+
|
|
361
394
|
enh: Add helper class CsvUtils
|
|
362
395
|
enh: Add pipe formatProperty
|
|
363
396
|
enh: Add directive [appAutoTitle] for <ion-label> or <mat-label>
|
|
364
397
|
|
|
365
398
|
# 1.20.5
|
|
366
|
-
|
|
399
|
+
|
|
400
|
+
enh: formatProperty pipe: when type is 'boolean', display a translated Yes/No
|
|
367
401
|
|
|
368
402
|
# 1.20.7
|
|
403
|
+
|
|
369
404
|
enh: add function FileUtils.writeTextToFile()
|
|
370
405
|
|
|
371
406
|
# 1.20.11
|
|
407
|
+
|
|
372
408
|
enh: add function FileUtils.downloadUri()
|
|
373
409
|
|
|
374
410
|
# 1.20.13
|
|
411
|
+
|
|
375
412
|
fix: fix SharedValidators.decimal() when maxDecimals = 3 (cached regexp was wrong)
|
|
376
413
|
|
|
377
414
|
# 1.20.14
|
|
415
|
+
|
|
378
416
|
fix: Menu: Force menu update when config changed
|
|
379
417
|
|
|
380
418
|
# 1.20.16
|
|
419
|
+
|
|
381
420
|
fix: MatChipsField: fix chip height
|
|
382
421
|
|
|
383
422
|
# 1.20.17
|
|
423
|
+
|
|
384
424
|
fix: Add module ResizableModule, for MatTable column resize
|
|
385
425
|
|
|
386
426
|
# 1.20.18
|
|
387
|
-
|
|
427
|
+
|
|
428
|
+
fix: PlatformService.download() now useFileUtils.download(), that create a temp download (not need browser permission to open popup)
|
|
388
429
|
|
|
389
430
|
# 1.20.19
|
|
431
|
+
|
|
390
432
|
enh: Add new abstract class AppEntityEditorModal, that can managed many forms and tables
|
|
391
433
|
|
|
392
434
|
# 1.20.20
|
|
435
|
+
|
|
393
436
|
fix: SCSS: remove `user-select: text !important` applied on body, because of modals ViewEncapsulation.None (e.g. physical gear modal) where Tab label were becomes focusable
|
|
394
437
|
|
|
395
438
|
# 1.20.21
|
|
439
|
+
|
|
396
440
|
fix: Fix mat latlong field: was broken since v1.19.13
|
|
397
441
|
|
|
398
442
|
# 1.20.21
|
|
443
|
+
|
|
399
444
|
fix: Fix MatDateField mat-error display (was too large)
|
|
400
445
|
|
|
401
446
|
# 1.20.24
|
|
447
|
+
|
|
402
448
|
fix: Revert change on LatLongField (SCSS file was removed ??)
|
|
403
449
|
|
|
404
450
|
# 1.20.25
|
|
451
|
+
|
|
405
452
|
fix: MatBooleanField: set indeterminate=true, when value is null
|
|
406
453
|
|
|
407
454
|
# 1.20.27
|
|
408
455
|
|
|
409
|
-
fix: Mat***Field: add `@Input() appearance`
|
|
456
|
+
fix: Mat***Field: add `@Input() appearance`
|
|
410
457
|
|
|
411
458
|
# 1.20.30
|
|
412
|
-
|
|
459
|
+
|
|
460
|
+
fix: Add InMemoryDataService.hiddenCount
|
|
413
461
|
|
|
414
462
|
# 1.20.33
|
|
463
|
+
|
|
415
464
|
fix: MatAutocompleteField: reload items when cleaning text, and no suggestLengthThreshold
|
|
416
465
|
|
|
417
466
|
# 1.20.34
|
|
418
|
-
|
|
467
|
+
|
|
468
|
+
fix: AppTable: remove 'opts.skipIfLoading' on delete functions, to use only 'opts.interactive' to force deletion when table is busy.
|
|
419
469
|
|
|
420
470
|
# 1.21.0
|
|
471
|
+
|
|
421
472
|
enh: AppForm: use public behavior subjects: readySubject, loadingSubject, errorSubject
|
|
422
473
|
|
|
423
474
|
# 1.22.0
|
|
475
|
+
|
|
424
476
|
enh: Add social components: UserEventNotification and JobProgression
|
|
425
477
|
|
|
426
478
|
# 1.22.1
|
|
479
|
+
|
|
427
480
|
enh: Menu: add APP_MENU_OPTIONS token, to configure menu (e.g. show notification icon in the left menu header)
|
|
428
481
|
|
|
429
482
|
# 1.22.9
|
|
483
|
+
|
|
430
484
|
enh: Remove <app-user-events-table> (move to specific sub projects that use ngx-components)
|
|
431
485
|
|
|
432
486
|
# 1.22.11
|
|
487
|
+
|
|
433
488
|
enh: Rename <app-user-event-notification-component> into <app-user-event-notification-icon>
|
|
434
489
|
|
|
435
490
|
# 1.22.12
|
|
491
|
+
|
|
436
492
|
enh: Can mark a Moment without time, allowing empty time field in MatDateTime
|
|
437
493
|
|
|
438
494
|
# 1.23.6
|
|
495
|
+
|
|
439
496
|
fix: Many fix in table. Upgrade to ngx-material-table 0.12.0
|
|
440
497
|
enh: Table, Form and Editor: Add a destroySubject
|
|
441
498
|
enh: Observables functions first***Promise() : add more options (timeout or stop notifier)
|
|
442
499
|
|
|
443
500
|
# 1.23.10
|
|
444
|
-
|
|
501
|
+
|
|
502
|
+
enh: Autocomplete: add a 'title' property on each option, on desktop screen
|
|
445
503
|
|
|
446
504
|
# 1.23.11
|
|
505
|
+
|
|
447
506
|
fix: Memory Data service: now implement IStartableService
|
|
448
507
|
enh: StartableService: use a stopSubject, to stop waitFor promise
|
|
449
|
-
enh: remove unused class EntitiesService. Use IEntitiesService instead
|
|
508
|
+
enh: remove unused class EntitiesService. Use IEntitiesService instead
|
|
450
509
|
|
|
451
510
|
# 1.23.26
|
|
511
|
+
|
|
452
512
|
enh: Add new pipe 'arrayJoin'
|
|
453
513
|
enh: 'arrayPluck' pipe: allow to use string[] for path
|
|
454
514
|
enh: getPropertyByPath() function now allow to use string[] as path
|
|
455
515
|
|
|
456
516
|
# 1.23.29
|
|
457
|
-
|
|
517
|
+
|
|
518
|
+
enh: FormArrayHelper: add setValue() to resize the FormArray, then set value
|
|
458
519
|
|
|
459
520
|
# 1.23.30
|
|
460
|
-
|
|
521
|
+
|
|
522
|
+
fix: InMemoryDataService: do NOT apply default sortReplacement id -> rankOrder
|
|
461
523
|
|
|
462
524
|
# 1.23.31
|
|
463
|
-
|
|
525
|
+
|
|
526
|
+
fix: InMemoryDataService: change 'dirtySubject' as public property
|
|
464
527
|
|
|
465
528
|
# 1.23.39
|
|
529
|
+
|
|
466
530
|
enh: Add FormArrayHelper.patchValue() : clear array, then push each value
|
|
467
|
-
fix: StartableService: avoid to log error when stopped
|
|
531
|
+
fix: StartableService: avoid to log error when stopped
|
|
468
532
|
|
|
469
533
|
# 1.23.41
|
|
470
|
-
|
|
534
|
+
|
|
535
|
+
enh: AppEditor: Add 'loaded' getter
|
|
471
536
|
|
|
472
537
|
# 1.23.44
|
|
473
|
-
|
|
538
|
+
|
|
539
|
+
enh: Referential model: add a 'icon' property (IconRef)
|
|
474
540
|
|
|
475
541
|
# 1.23.46
|
|
542
|
+
|
|
476
543
|
enh: Add `ColorScale.getValueColor(): Color`
|
|
477
|
-
enh: EntityEditorModal: rename input `isNewData` into `isNew`
|
|
544
|
+
enh: EntityEditorModal: rename input `isNewData` into `isNew`
|
|
478
545
|
|
|
479
546
|
# 1.23.51
|
|
547
|
+
|
|
480
548
|
Observables: function `waitFor()`, `waitForTrue()`, `watForFalse()`, `firstNotNilPromise()`
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
549
|
+
|
|
550
|
+
- fix: Make sure `takeUntil` is always the last operator (avoid memory leak)
|
|
551
|
+
- enh: Observables: Allow set option.stopError with custom error message
|
|
552
|
+
- enh: Observables: Create the Error outside the observable, to keep the original stack trace readable
|
|
484
553
|
|
|
485
554
|
# 1.23.61
|
|
555
|
+
|
|
486
556
|
- fix: Boolean field: fix button layout
|
|
487
557
|
|
|
488
558
|
# 1.23.65
|
|
559
|
+
|
|
489
560
|
- enh: Add pipes: isNotNil and isNotNilOrNaN
|
|
490
561
|
|
|
491
562
|
# 1.23.67
|
|
492
|
-
|
|
493
|
-
|
|
563
|
+
|
|
564
|
+
- fix: Rename DateFormatPipe into DateFormatService (DateFormatPipe is no more a provider)
|
|
565
|
+
- fix: Fix patterns in DateFormatPipe/Service : add a fallback when translate service is not started - fix issue sar-app #28
|
|
494
566
|
|
|
495
567
|
# 2.0.0
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
568
|
+
|
|
569
|
+
- enh: Migration to
|
|
570
|
+
- Angular 14.2
|
|
571
|
+
- Ionic 6.2
|
|
572
|
+
- Angular Material Table 0.14.4 (allow to use async validator for rows)
|
|
573
|
+
- Apollo 3, graph-ws 5
|
|
574
|
+
- enh: Add <app-debug> component
|
|
502
575
|
|
|
503
576
|
# 2.1.0
|
|
504
|
-
|
|
505
|
-
|
|
577
|
+
|
|
578
|
+
- enh: Add new class AppFormArray with all functions of FormArrayHelper
|
|
579
|
+
|
|
506
580
|
# 2.2.1
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
581
|
+
|
|
582
|
+
- fix: FormArrayHelper and AppFormArray: Apply the parent disabled state, in added controls, when calling resize() or patchValue()
|
|
583
|
+
- fix: FormArrayHelper.getOrCreateArray(): Apply the parent form disabled state, in added FormArray
|
|
584
|
+
- fix: MatChipsField: fix loading spinner freeze
|
|
510
585
|
|
|
511
586
|
# 2.2.3
|
|
587
|
+
|
|
512
588
|
- enh: Test Geolocation.getCurrentPosition() in the lat/long field test page
|
|
513
589
|
|
|
514
590
|
# 2.2.4
|
|
591
|
+
|
|
515
592
|
- fix: Fix DateUtils.isSame(), when first argument is nil, but the second not
|
|
516
593
|
- enh: AppTable: allow to call deleteSelection with opts (e.g `{interactive: false}`)
|
|
517
594
|
|
|
518
595
|
# 2.2.6
|
|
519
|
-
|
|
596
|
+
|
|
597
|
+
- fix: Refresh menu on any account changes (login changes - eg. when account updated)
|
|
520
598
|
|
|
521
599
|
# 2.2.8
|
|
600
|
+
|
|
522
601
|
- fix: Table actions column: add CSS variable to set column width, min-width and max-width
|
|
523
602
|
|
|
524
603
|
# 2.3.7
|
|
525
|
-
|
|
604
|
+
|
|
605
|
+
- fix: Mat form field: use inherit font size (do not force font-size, in the theme)
|
|
526
606
|
- fix: MatDateShort: fix behaviour for Angular 14
|
|
527
607
|
|
|
528
608
|
# 2.4.0
|
|
609
|
+
|
|
529
610
|
- Breaking change: ProgressBarService and HTTP_INTERCEPTORS no longer provided in SharedModule (see: AppModule)
|
|
530
611
|
- enh: Make ProgressBarService fully optional (InjectionToken: APP_PROGRESS_BAR_SERVICE)
|
|
531
612
|
- enh: Settings: the settings object is now stored in json format
|
|
532
613
|
|
|
533
614
|
# 2.4.1
|
|
615
|
+
|
|
534
616
|
- fix: AppFormArray: do not resize the array when patchValue() receive `undefined` value (e.g. useful when called by parent, recursively, without value)
|
|
535
617
|
- fix: AppAsyncTable: optimize markAsUntouched()
|
|
536
618
|
|
|
537
619
|
# 2.4.2
|
|
538
|
-
|
|
620
|
+
|
|
621
|
+
- enh: Graphql service: add new token `APP_GRAPHQL_FRAGMENTS` to register fragments, and avoid redeclaration in queries (
|
|
622
|
+
see https://github.com/apollographql/apollo-client/pull/9764#issuecomment-1329857853)
|
|
539
623
|
|
|
540
624
|
# 2.4.3
|
|
625
|
+
|
|
541
626
|
- fix: AppFormArray: do not resize the array when patchValue() receive `null` or `undefined` value (same behavior as official `FormArray.patchValue()`)
|
|
542
627
|
|
|
543
628
|
# 2.4.4
|
|
629
|
+
|
|
544
630
|
- fix: Applying environment defaultLocale, when settings data has no locale (merge some code from lpecquot, that was in a branch)
|
|
545
631
|
|
|
546
632
|
# 2.4.9
|
|
633
|
+
|
|
547
634
|
- fix: Settings: allow to store settings as string (like < 2.4.0) using an injection token
|
|
548
635
|
|
|
549
636
|
# 2.4.10
|
|
637
|
+
|
|
550
638
|
- fix: When detecting a app update, stop the check timer to avoid to many toast to be displayed
|
|
551
639
|
|
|
552
640
|
# 2.4.14
|
|
641
|
+
|
|
553
642
|
- enh: add function `setPropertyByPath()`
|
|
554
|
-
- fix: Implement `EntityUtils.getPropertyByPath()` using generic shared function `getPropertyByPath()`
|
|
643
|
+
- fix: Implement `EntityUtils.getPropertyByPath()` using generic shared function `getPropertyByPath()`
|
|
555
644
|
|
|
556
645
|
# 2.4.15
|
|
557
|
-
|
|
646
|
+
|
|
647
|
+
- fix: Fix pipes formGetControl, formGetValue, formGetGroup : when using a path, return nil if control not found, and NOT the form itself
|
|
558
648
|
|
|
559
649
|
# 2.4.16
|
|
650
|
+
|
|
560
651
|
- fix: `SharedModule.forRoot()`: make environment optional, to be defined it in the `app.module.ts` (need by Quadrige App)
|
|
561
652
|
|
|
562
653
|
# 2.4.17
|
|
654
|
+
|
|
563
655
|
- fix: MatLatLongField: remove strict character regexp, in degrees part, to be able to set only one digit (e.g. `9°`)
|
|
564
656
|
|
|
565
657
|
# 2.4.18
|
|
658
|
+
|
|
566
659
|
- fix: MatDateShortField: fix control validation, in desktop mode
|
|
567
660
|
|
|
568
661
|
# 2.4.19
|
|
662
|
+
|
|
569
663
|
- fix: MatAutocompleteField: revert the cdk overlay position, when closing the mat-select panel
|
|
570
664
|
|
|
571
665
|
# 2.4.23
|
|
666
|
+
|
|
572
667
|
- enh: Add DateUtils.markTime(), to reset the 'no time' marker
|
|
573
668
|
- enh: Add DateUtilsEntityEditor: simplify updateTabAndRoute()
|
|
574
|
-
- enh: Add DateUtilsEntityEditor: updateRoute() now manage queryParams change, before /new to /:id transition
|
|
669
|
+
- enh: Add DateUtilsEntityEditor: updateRoute() now manage queryParams change, before /new to /:id transition
|
|
575
670
|
- enh: Toolbar: goBack() return a boolean
|
|
576
671
|
|
|
577
672
|
# 2.4.25
|
|
673
|
+
|
|
578
674
|
- enh: Environment: add a boolean option 'sameUrlPeer', to force network to start on peer at the same URL
|
|
579
675
|
- enh: EntityEditor: allow to listen changes on local entity
|
|
580
676
|
- enh: add functions collectByProperty() to split an array in a map of array
|
|
581
677
|
|
|
582
678
|
# 2.4.26
|
|
679
|
+
|
|
583
680
|
- fix: Rename pipe 'isNotOnField' by 'isOnDesk'
|
|
584
681
|
|
|
585
682
|
# 2.4.28
|
|
683
|
+
|
|
586
684
|
- enh: TranslateContext: allow to translate many keys (string[])
|
|
587
685
|
- fix: Force ngx-quicklink to 0.3.0
|
|
588
686
|
|
|
589
687
|
# 2.4.31
|
|
688
|
+
|
|
590
689
|
- enh: Add JsonUtils.parseFile()
|
|
591
690
|
|
|
592
691
|
# 2.4.33
|
|
692
|
+
|
|
593
693
|
- enh: Add AppPropertiesForm.length
|
|
594
694
|
|
|
595
695
|
# 2.4.48
|
|
696
|
+
|
|
596
697
|
- fix: Fix highlight pipe (used by autocomplete field)
|
|
597
698
|
|
|
598
699
|
# 2.4.50
|
|
700
|
+
|
|
599
701
|
- enh: Add type 'enums' for AppFormField
|
|
600
702
|
|
|
601
703
|
# 2.4.54
|
|
704
|
+
|
|
602
705
|
- enh: Use NavController by default, instead of Angular router. This will use the default animation style of the OS
|
|
603
706
|
|
|
604
707
|
# 2.4.55
|
|
708
|
+
|
|
605
709
|
- fix: Editor: Disable animation, when reloading same page after saving
|
|
606
710
|
|
|
607
711
|
# 2.4.58
|
|
712
|
+
|
|
608
713
|
- enh: Add storage explorer (with log preview)
|
|
609
714
|
- enh: Add debug service (to send debug data to server)
|
|
610
715
|
- enh: Add logging service
|
|
611
716
|
|
|
612
717
|
# 2.4.61
|
|
718
|
+
|
|
613
719
|
- enh: Add logger on network service
|
|
614
720
|
|
|
615
721
|
# 2.4.67
|
|
722
|
+
|
|
616
723
|
fix: Minor fix (add missing i18n)
|
|
617
724
|
fix: GeolocationUtils: add many useful functions, and detect Capacitor errors (from message)
|
|
618
725
|
fix: Fix some issues in storage explorer
|
|
619
726
|
|
|
620
727
|
# 2.4.74
|
|
728
|
+
|
|
621
729
|
enh: LocalSettingsService: save changes in local storage, when calling setProperty()
|
|
622
730
|
|
|
623
731
|
# 2.4.75
|
|
732
|
+
|
|
624
733
|
enh: SharedValidator: add a precision validator
|
|
625
734
|
|
|
626
735
|
# 2.4.79
|
|
627
|
-
fix: ImageGallery: fix add button icon (center alignement)
|
|
628
736
|
|
|
737
|
+
fix: ImageGallery: fix add button icon (center alignement)
|
|
629
738
|
|
|
630
739
|
# 2.4.81
|
|
740
|
+
|
|
631
741
|
fix: AppToolbar: allow to use ion-segment in app-toolbar
|
|
632
742
|
|
|
633
743
|
# 2.4.82
|
|
744
|
+
|
|
634
745
|
enh: Migrate to Ionic 7
|
|
635
746
|
fix: Form field: show the clear button, when clearable=true, on types 'integer', 'double', 'string', 'date' and 'date-time'
|
|
636
747
|
|
|
637
748
|
# 2.4.82
|
|
749
|
+
|
|
638
750
|
enh: AppEntityEditor: add get/set for autoOpenNextTab
|
|
639
751
|
|
|
640
752
|
# 2.4.87
|
|
641
|
-
|
|
753
|
+
|
|
754
|
+
fix: AppEntityEditor: When reload the editor, force the fetch policy to 'network-only'
|
|
642
755
|
|
|
643
756
|
# 2.4.88
|
|
644
|
-
|
|
757
|
+
|
|
758
|
+
fix: AppInstallUpgradeCard: Installation APK link are not visible - fix issue [sumaris-app#445](https://gitlab.ifremer.fr/sih-public/sumaris/sumaris-app/-/issues/445)
|
|
645
759
|
|
|
646
760
|
# 2.4.88
|
|
761
|
+
|
|
647
762
|
enh: Add protected BaseEntityService.getLoadQueryNames()
|
|
648
763
|
|
|
649
764
|
# 2.4.89
|
|
765
|
+
|
|
650
766
|
fix: Fix Autocomplete searchbar value trigger, after ionic 7 update
|
|
651
767
|
|
|
652
768
|
# 2.4.90
|
|
769
|
+
|
|
653
770
|
fix: AppEntityEditor: when catch error in save(), set the selectedTabIndex=0 before calling setError()
|
|
654
771
|
This will allow subclasses to override the default selectedTabIndex after an error occur, inside the overridden setError()
|
|
655
772
|
|
|
656
773
|
# 2.4.91
|
|
657
|
-
|
|
774
|
+
|
|
775
|
+
enh: functions: allow to use sort(array) without the 'attribute' argument (e.g. allow to sort a string[])
|
|
658
776
|
|
|
659
777
|
# 2.4.95
|
|
778
|
+
|
|
660
779
|
fix: Platform: avoid error at startup, because of StatusBar in web mode
|
|
661
|
-
enh: MatBooleanField: display value when disabled, instead of 'empty'
|
|
780
|
+
enh: MatBooleanField: display value when disabled, instead of 'empty'
|
|
662
781
|
|
|
663
782
|
# 2.4.112
|
|
783
|
+
|
|
664
784
|
enh: AppBadge: allow to set a text or number content
|
|
665
785
|
|
|
666
786
|
# 2.4.114
|
|
787
|
+
|
|
667
788
|
enh: Menu: allow to add sub menu item
|
|
668
789
|
|
|
669
790
|
# 2.4.158
|
|
791
|
+
|
|
670
792
|
enh: Environment: add useHash property to configure Angular router to use hash URL (need by web-ext)
|
|
671
793
|
|
|
672
794
|
# 2.5.0
|
|
795
|
+
|
|
673
796
|
- enh: Add token APP_USER_SETTINGS_OPTIONS of type UserSettingsOptions to add user properties table in AccountPage
|
|
674
797
|
- fix: MatBooleanField: in checkbox style, the placeholder can be shown as expected
|
|
675
798
|
|
|
676
799
|
# 2.6.0
|
|
800
|
+
|
|
677
801
|
- enh: Account: Add User tokens (table and modal)
|
|
678
802
|
|
|
679
803
|
# 2.6.23
|
|
804
|
+
|
|
680
805
|
- fix: Fix Configuration.getPropertyAsNumbers() when no value (avoid to get an array with an unique NaN value)
|
|
681
806
|
|
|
682
807
|
# 2.6.25
|
|
808
|
+
|
|
683
809
|
- enh: Upgrade to nodejs 18
|
|
684
810
|
- fix: Menu: hide spacer divider ion-label (hide the skeleton)
|
|
685
811
|
|
|
686
812
|
# 2.6.28
|
|
813
|
+
|
|
687
814
|
- fix: ImageGallery: Change image's title background color
|
|
688
815
|
|
|
689
816
|
# 2.6.31
|
|
817
|
+
|
|
690
818
|
- fix: ImageGallery: Add output event when after editing title
|
|
691
819
|
|
|
692
820
|
# 2.6.32
|
|
821
|
+
|
|
693
822
|
- fix: AppFormArray: Avoid an infinite loop, when calling resize(0) if options.allowEmptyArray=false
|
|
694
823
|
- fix: Table, Form, Editor: fix error when markAsLoaded() on closed BehaviorSubject
|
|
695
|
-
- fix: Table, Form, Editor: Make sure waitIdle() will stop, when component is destroyed (force default opts)
|
|
824
|
+
- fix: Table, Form, Editor: Make sure waitIdle() will stop, when component is destroyed (force default opts)
|
|
696
825
|
|
|
697
826
|
# 2.6.34
|
|
698
|
-
|
|
827
|
+
|
|
828
|
+
- enh: functions: add a static function `underscoreToChangeCase()`
|
|
699
829
|
|
|
700
830
|
# 2.6.35
|
|
831
|
+
|
|
701
832
|
- fix: Settings: Add type for property `OfflineFeature.filter`, then use it to in `LocalSettingsService.getOfflineFeatures()`
|
|
702
833
|
|
|
703
834
|
# 2.6.38
|
|
835
|
+
|
|
704
836
|
- fix: Fix mapGet pipe, when key is zero (0)
|
|
705
837
|
|
|
706
838
|
# 2.6.39
|
|
707
|
-
|
|
839
|
+
|
|
840
|
+
- enh: table: Add an input `style: 'table'|mat-table` into `<app-actions-column>`, to be usable inside a `<table mat-table>` (using `<td>`) or `<mat-table>` (using `<mat-cell>`)
|
|
708
841
|
|
|
709
842
|
# 2.8.0
|
|
843
|
+
|
|
710
844
|
- enh: `IAppForm<T>` : add a type `<T=any>`
|
|
711
845
|
- enh: `IAppForm` : add optional functions `setValue()`, `patchValue()`, `resetValue()` and `getValue()`
|
|
712
846
|
- fix: `AppForm` and `AppEditor`: Remove unused and deprecated properties `_loading`, `_$ready`, `_$loading`
|
|
713
847
|
- fix: `AppForm` : rename `_enable` as `enabled` to avoid confusion with `enable()`
|
|
714
848
|
- enh: Add abstract class `AppFormContainer` to manage many `IAppForm` - and use it as a super class of `AppEditor`
|
|
715
|
-
- enh: Add new pipes for SelectionModel :
|
|
849
|
+
- enh: Add new pipes for SelectionModel :
|
|
716
850
|
- `isSelected`: e.g. `selection | isSelected: row`,
|
|
717
851
|
- `isEmptySelection`: e.g. `selection | isEmptySelection`
|
|
718
852
|
- `isNotEmptySelection`: e.g. `selection | isNotEmptySelection`
|
|
@@ -720,19 +854,20 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
720
854
|
- `isMultipleSelection`: e.g. `selection | isMultipleSelection`,
|
|
721
855
|
- enh: Add new pipes for table :
|
|
722
856
|
- `isAllSelected`: e.g. `table | isAllSelected`,
|
|
723
|
-
- `isNotAllSelected`: e.g. `table | isNotAllSelected`
|
|
857
|
+
- `isNotAllSelected`: e.g. `table | isNotAllSelected`
|
|
724
858
|
|
|
725
859
|
# 2.8.1
|
|
726
|
-
|
|
860
|
+
|
|
861
|
+
- enh: Add a pipe `badgeNumber` to limit badge content when > `99` (will display `99+`)
|
|
727
862
|
- enh: function setPropertyByPath() now return the input obj
|
|
728
863
|
- fix: Referential: fix `asObject()`
|
|
729
|
-
- enh: Add options:
|
|
864
|
+
- enh: Add options:
|
|
730
865
|
- `sumaris.defaultLatLongFormat.enabled` to show/hide default Lat/Lon setting in account page (default is true)
|
|
731
866
|
- `sumaris.auth.api.token.scope.enabled` to show/hide scopes in API token table (default is false)
|
|
732
867
|
- `sumaris.auth.api.token.scope.default` set the default scope for new API token, mandatory if `sumaris.auth.api.token.scope.enabled` if false (default is 'read_api')
|
|
733
868
|
- enh: Add AppRowField component: wrap an AppFormField into a table column
|
|
734
869
|
- enh: Add pipe `valueFormat` to format a value with a FormFieldDefinition (equivalent to pipe `propertyFormat`)
|
|
735
|
-
- fix: `UploadFileComponent` Refactored
|
|
870
|
+
- fix: `UploadFileComponent` Refactored
|
|
736
871
|
- enh: Add new config options to override the form field background color (active, focus or disabled)
|
|
737
872
|
- enh: Add new pipe `booleanFormat`
|
|
738
873
|
- enh: Update pipe `propertyFormat` to use complex path (using `getPropertyByPath()`)
|
|
@@ -740,34 +875,42 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
740
875
|
- enh: Add static function `JsonUtils.getLocalizedEncoding()`
|
|
741
876
|
|
|
742
877
|
# 2.8.2
|
|
878
|
+
|
|
743
879
|
- enh: Function `getPropertyByPath` now handles the optional chaining operator `(?.)`
|
|
744
880
|
- enh: Add `AccountService.onWillLogout` emitter
|
|
745
|
-
- fix: Table: Call `emitRefresh()` instead of `onRefresh.emit()` to safely emit to an opened Observable
|
|
881
|
+
- fix: Table: Call `emitRefresh()` instead of `onRefresh.emit()` to safely emit to an opened Observable
|
|
746
882
|
|
|
747
883
|
# 2.8.3
|
|
884
|
+
|
|
748
885
|
- enh: Add support of `<mat-hint>` in MatDateTime, MatDate, MatDateShort, MatAutocompleteField and MatLatLongField
|
|
749
886
|
- enh: Add `DateUtils.compare` to be able to sort dates (using Array `sort()`)
|
|
750
887
|
- enh: Add function `resizeArray(T[], size): T[]`
|
|
751
888
|
- fix: NamedFilter: Abort import if callback returns null or undefined
|
|
752
|
-
- fix: DataSource: Allow to refresh datasource (using `watchAll()`) when having dirty row
|
|
889
|
+
- fix: DataSource: Allow to refresh datasource (using `watchAll()`) when having dirty row
|
|
753
890
|
|
|
754
891
|
# 2.8.4
|
|
892
|
+
|
|
755
893
|
- enh: MatBooleanField: add `@Input() clearable` (default to `false`)
|
|
756
894
|
- fix: MatBooleanField: when resetting value, hide radio buttons
|
|
757
895
|
|
|
758
896
|
# 2.8.11
|
|
759
|
-
|
|
897
|
+
|
|
898
|
+
- fix: MatBooleanField: hide checkbox's placeholder when floatLabel=never
|
|
760
899
|
|
|
761
900
|
# 2.8.12
|
|
762
|
-
|
|
901
|
+
|
|
902
|
+
- enh: Pipe `referentialToString`: add new option `propertySeparator` to override the default ' - ' separator
|
|
763
903
|
|
|
764
904
|
# 2.8.13
|
|
905
|
+
|
|
765
906
|
- enh: AsyncTable: make `setFilter()` async
|
|
766
907
|
|
|
767
908
|
# 2.8.14
|
|
909
|
+
|
|
768
910
|
- enh: Upgrade to ngx-material-table 17.2.1 (add options to TableElement `delete()`, `cancelOrDelete()` and `confirmEditCreate()`)
|
|
769
911
|
|
|
770
912
|
# 2.9.0
|
|
913
|
+
|
|
771
914
|
- enh: Upgrade to Angular 17.3
|
|
772
915
|
- fix: Replace zone.js `setTimeout()`, by rx-angular zone-less
|
|
773
916
|
- fix: IFormControlPathTranslator : Rename interface IFormControlPathTranslator into IFormPathTranslator, and rename property `controlPathTranslator` into `pathTranslator`
|
|
@@ -775,42 +918,53 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
775
918
|
- fix: AppAsyncTable: re add `@Input() get filter`
|
|
776
919
|
- fix: AppTable: clear selection when opening a row (like AppAsyncTable)
|
|
777
920
|
- fix: MatAutocompleteField: Add `@Input() panelClass` (same as `class`)
|
|
778
|
-
- fix: MatAutocompleteField: Allow boolean inputs from string (using `@Input({transform: booleanAttribute})`)
|
|
921
|
+
- fix: MatAutocompleteField: Allow boolean inputs from string (using `@Input({transform: booleanAttribute})`)
|
|
779
922
|
- fix: MatAutocompleteField: add `panelWidth` and `panelClass` to `MatAutocompleteFieldConfig`
|
|
780
923
|
|
|
781
924
|
# 2.9.1
|
|
925
|
+
|
|
782
926
|
- fix: MatAutocompleteField: revert `applyImplicitValue` default value `true`
|
|
783
|
-
- fix: MatChipsField: fix usage of `suggestLengthThreshold`
|
|
927
|
+
- fix: MatChipsField: fix usage of `suggestLengthThreshold`
|
|
784
928
|
- enh: MatChipsField: add `applyImplicitValue` (default: false)
|
|
785
929
|
|
|
786
930
|
# 2.9.2
|
|
931
|
+
|
|
787
932
|
- fix: Notification list: add an ion-text-wrap to the notification message
|
|
788
933
|
|
|
789
934
|
# 2.9.3
|
|
935
|
+
|
|
790
936
|
- fix: Home: Add a call to `markForCheck()` after removing a page history item
|
|
791
937
|
|
|
792
938
|
# 2.9.4
|
|
793
|
-
|
|
939
|
+
|
|
940
|
+
- fix: Form: reduce line height of row label (form-container > ion-row > ion-col > ion-label)
|
|
794
941
|
|
|
795
942
|
# 2.9.6
|
|
796
|
-
|
|
943
|
+
|
|
944
|
+
- fix: MatAutocompleteField: Remove animation in searchbar (bad icon position in iOS)
|
|
797
945
|
|
|
798
946
|
# 2.9.7
|
|
799
|
-
|
|
947
|
+
|
|
948
|
+
- fix: Form: fix field label position (form-container > ion-row > ion-col > ion-label)
|
|
800
949
|
|
|
801
950
|
# 2.9.8
|
|
951
|
+
|
|
802
952
|
- enh: Add AppFormUtils.filterErrorsByPrefix() and AppFormUtils.filterErrors()
|
|
803
953
|
|
|
804
954
|
# 2.9.13
|
|
955
|
+
|
|
805
956
|
- fix: Home: when removing a page history, force settings to update
|
|
806
957
|
|
|
807
958
|
# 2.9.17
|
|
959
|
+
|
|
808
960
|
- fix: MatSelectPanel: add `--min-width: fit-content` to class `mat-select-panel-fit-content`
|
|
809
961
|
|
|
810
962
|
# 2.9.20
|
|
963
|
+
|
|
811
964
|
- enh: NamedFilterSelector: add `filterCleared` event
|
|
812
965
|
|
|
813
966
|
# 2.9.22
|
|
967
|
+
|
|
814
968
|
- enh(deps): Minor update to Angular 17.3.12
|
|
815
969
|
- enh(theme): Dark theme: Move dark theme toggle into the settings form
|
|
816
970
|
- enh(theme): Dark theme: Fix toggle field style, in dark theme
|
|
@@ -818,55 +972,70 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
818
972
|
- fix(config): When saving the remote config, do not return to the editor config's inherited properties
|
|
819
973
|
|
|
820
974
|
# 2.9.23
|
|
975
|
+
|
|
821
976
|
- fix(boolean-field): fix click on radio button 'no', when field has no value
|
|
822
977
|
|
|
823
978
|
# 2.11.1
|
|
979
|
+
|
|
824
980
|
- enh(deps): Upgrade to apollo-angular 7.1.2 and apollo 3.11 (+ fix breaking changes in graphql.service.ts)
|
|
825
981
|
- fix(css): Dark theme: fix checkbox style, and autocomplete panel
|
|
826
982
|
|
|
827
983
|
# 2.11.2
|
|
828
|
-
|
|
984
|
+
|
|
985
|
+
- enh(app-text-form): Add new inputs `appearance` and `subscriptSizing`
|
|
829
986
|
- fix(css): Dark theme: fix style for outline field
|
|
830
987
|
|
|
831
988
|
# 2.11.3
|
|
989
|
+
|
|
832
990
|
- fix(app-text-form): Input `autoHeight` is now deprecated (use `autoSize` instead)
|
|
833
991
|
- enh(app-text-form): Add new inputs `autoSizeMinRows` and `autoSizeMaxRows`
|
|
834
992
|
|
|
835
993
|
# 2.11.7
|
|
994
|
+
|
|
836
995
|
- fix(css): Dark theme: fix style
|
|
837
996
|
|
|
838
997
|
# 2.11.8
|
|
839
|
-
|
|
998
|
+
|
|
999
|
+
- enh(form-error): Add options to `IFormPathTranslator.translateFormPath()`
|
|
840
1000
|
|
|
841
1001
|
# 2.12.0
|
|
842
|
-
|
|
1002
|
+
|
|
1003
|
+
- enh(form-error): Remove deprecated interface `IFormControlPathTranslator`
|
|
843
1004
|
|
|
844
1005
|
# 2.12.4
|
|
845
|
-
|
|
1006
|
+
|
|
1007
|
+
- fix(date): Update formControl (and datePicker) when textControl value changes, and clean text input by regexp
|
|
846
1008
|
- fix(date-time): Keep control as invalid is time is empty
|
|
847
1009
|
- enh(date-time): Add new `@Input() allowNoTime` to make time optional
|
|
848
1010
|
- fix(lat-long): Fix deletion, when press delete key
|
|
849
1011
|
|
|
850
1012
|
# 2.12.7
|
|
1013
|
+
|
|
851
1014
|
- fix: addShortcut handler use `KeyboardEvent` instead of a simple 'EVent'
|
|
852
1015
|
|
|
853
1016
|
# 2.12.8
|
|
1017
|
+
|
|
854
1018
|
- enh: function `toNumber()` will now return the default value, when input is `NaN`
|
|
855
1019
|
|
|
856
1020
|
# 2.12.9
|
|
1021
|
+
|
|
857
1022
|
- fix(paginator): Fix paginator style on mobile screen (align to the left, and hide page size, like before the Angular 17 migration)
|
|
858
1023
|
|
|
859
1024
|
# 2.12.10
|
|
1025
|
+
|
|
860
1026
|
- fix(autocomplete): Compute the panel width if not set (in mobile) - workaround for an issue in mat-select panel
|
|
861
1027
|
|
|
862
1028
|
# 2.12.12
|
|
1029
|
+
|
|
863
1030
|
- fix(theme): add all dark colors from material theme
|
|
864
1031
|
- fix(autocomplete): in mobile device, add a text-wrap and a max-height in mat-option
|
|
865
1032
|
|
|
866
1033
|
# 2.12.13
|
|
867
|
-
|
|
1034
|
+
|
|
1035
|
+
- fix(config): New option `sumaris.account.latLongFormat.enable` to replace the deprecated option `sumaris.defaultLatLongFormat.enabled` (key was not well named)
|
|
868
1036
|
|
|
869
1037
|
# 2.12.16
|
|
1038
|
+
|
|
870
1039
|
- fix(autocomplete): Reload items when `showAllOnFocus = true`
|
|
871
1040
|
- fix(autocomplete): Use `??` operator, instead of `toBoolean()`, `toNumber()` etc.
|
|
872
1041
|
- enh(autocomplete): Add option `applyImplicitValue` to config
|
|
@@ -876,9 +1045,11 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
876
1045
|
- enh(table): Add new component `<nav-actions-column>`
|
|
877
1046
|
|
|
878
1047
|
# 2.12.19
|
|
1048
|
+
|
|
879
1049
|
- fix(nav-actions-column): Fix when inside a `AppAsyncTable`
|
|
880
1050
|
|
|
881
1051
|
# 2.12.26
|
|
1052
|
+
|
|
882
1053
|
- enh(app-async-table): declare property `readonly cd: ChangeDetectorRef`
|
|
883
1054
|
- enh(app-async-table): implement `markForCheck()` and `detectCHanges()`
|
|
884
1055
|
- enh(app-table): declare property `readonly cd: ChangeDetectorRef`
|
|
@@ -886,21 +1057,26 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
886
1057
|
- fix(app-table): `toggleSelectRow()` should not call `event.preventDefault()` otherwise checkbox will not be checked
|
|
887
1058
|
|
|
888
1059
|
# 2.12.27
|
|
1060
|
+
|
|
889
1061
|
- enh(app-table): implement `markForCheck()` and `detectChanges()`
|
|
890
1062
|
|
|
891
1063
|
# 2.12.29
|
|
1064
|
+
|
|
892
1065
|
- fix(new-token-modal): Add a full form and fix save issue
|
|
893
1066
|
|
|
894
1067
|
# 2.12.30
|
|
1068
|
+
|
|
895
1069
|
- enh(platform): Add copy to clipboard return state
|
|
896
1070
|
|
|
897
1071
|
# 2.12.29
|
|
1072
|
+
|
|
898
1073
|
- fix(new-token-modal): Add a full form and fix save issue
|
|
899
1074
|
|
|
900
1075
|
# 18.0.0
|
|
1076
|
+
|
|
901
1077
|
- enh(deps) Upgrade to Angular 18.2.8 and Ionic 8.3
|
|
902
1078
|
- enh(deps) Remove zone.js (enable experimental zone-less config)
|
|
903
|
-
- enh(app-properties-form): Use an autocomplete field to select an option, instead of a simple mat-select
|
|
1079
|
+
- enh(app-properties-form): Use an autocomplete field to select an option, instead of a simple mat-select
|
|
904
1080
|
- enh(app-properties-form): Add `@Input() showHintKey: boolean` to show option key (has a hint)
|
|
905
1081
|
- enh(network-service): Avoid to restart the service if peer has not changed
|
|
906
1082
|
- enh(AppFormArray): allow to use AppFormArray on any type (and not only Entity has before)
|
|
@@ -908,12 +1084,13 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
908
1084
|
- enh(mat-autocomplete-field): add option `selectInputContentOnFocus` to option, to select the input content on focus in
|
|
909
1085
|
- enh(app-named-filter-selector): Add `@Input() buttonsPosition: 'matSuffix'|'after'` to let user defined button position (inside the field, or after)
|
|
910
1086
|
- fix(AppForm and AppFormContainer) log error using the child path (if defined using `addForm()`)
|
|
911
|
-
- fix(graphql) Fix pod error in JSON format, before parsing it (e.g. Oracle can return error on multiple lines)
|
|
1087
|
+
- fix(graphql) Fix pod error in JSON format, before parsing it (e.g. Oracle can return error on multiple lines)
|
|
912
1088
|
- fix(nav-actions-column): Use `OnPush` changeDetection
|
|
913
1089
|
- fix(app-form-field): Emit `(keyup.enter)` event, when field's type is `double`
|
|
914
1090
|
|
|
915
1091
|
# 18.0.5
|
|
916
|
-
|
|
1092
|
+
|
|
1093
|
+
- enh(mat-autocomplete-field):
|
|
917
1094
|
- Change type of `MatAutocompleteFieldConfig.suggestFn` to use SuggestFn<T, F> (allow to pass more options - e.g. used to resolve entity in AppPropertiesUtils)
|
|
918
1095
|
- Add `@Input() label`
|
|
919
1096
|
- Add `@Input() hideRequiredMarker`
|
|
@@ -922,64 +1099,77 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
922
1099
|
- Fix the style when readonly and type `enum`
|
|
923
1100
|
- interface `FormFieldDefinition`: Add property `serializeAttribute?: string` (instead of using autocomplete.filer.joinAttribute)
|
|
924
1101
|
- add a static function `FormFieldDefinitionUtils.prepareDefinitions()` to resolve enum values, by `InjectionToken`
|
|
925
|
-
- enh(app-properties-form):
|
|
1102
|
+
- enh(app-properties-form):
|
|
926
1103
|
- Entity/Entities are now resolved from helper class AppPropertiesUtils
|
|
927
1104
|
- Allow to change add button title
|
|
928
1105
|
- Resolve enum item, when using InjectionToken for values
|
|
929
1106
|
- enh(shared) Add decorators `@RxStateRegister()` `@RxStateSelect()` and `@RxStateProperty()` to connect property to a `RxState`
|
|
930
1107
|
- fix(properties-utils): Add `opts?: {keepOrphan?: boolean}` to `AppPropertiesUtils.arrayFromObject` to be able to remove property without definition (`keepOrphan` is `true` by default)
|
|
931
|
-
- fix(token-table): Fix error when no scopes defined (InjectToken `APP_USER_TOKEN_SCOPES` should be optional)
|
|
1108
|
+
- fix(token-table): Fix error when no scopes defined (InjectToken `APP_USER_TOKEN_SCOPES` should be optional)
|
|
932
1109
|
|
|
933
1110
|
# 18.0.6
|
|
1111
|
+
|
|
934
1112
|
- fix(scss): set flex-wrap to nowrap
|
|
935
1113
|
- enh(autocomplete-test): add test case with a button
|
|
936
1114
|
- fix(logout) Logout should be done AFTER home redirection, because of cache clearing - see issue #5
|
|
937
1115
|
|
|
938
1116
|
# 18.0.7
|
|
1117
|
+
|
|
939
1118
|
- fix(hotkeys) Fix default platform control key ('meta' on iOS)
|
|
940
1119
|
|
|
941
1120
|
# 18.0.8
|
|
1121
|
+
|
|
942
1122
|
- fix(hotkeys) Avoid to open many help modal
|
|
943
1123
|
- fix(hotkeys) Skip open help modal, if nothing to display
|
|
944
1124
|
- fix(form-buttons-bar) Fix shortcuts for iOS
|
|
945
1125
|
- fix(modal-toolbar) Fix shortcut for iOS
|
|
946
1126
|
|
|
947
1127
|
# 18.0.9
|
|
1128
|
+
|
|
948
1129
|
- fix(mat-latlong-field) Mark control as dirty, when text control changed
|
|
949
1130
|
- fix(about) Fix missing markdown module, to display config description
|
|
950
|
-
- enh(about) Allow to override the "report an issue" link, using a config option `sumaris.reportIssue.url`
|
|
1131
|
+
- enh(about) Allow to override the "report an issue" link, using a config option `sumaris.reportIssue.url`
|
|
951
1132
|
|
|
952
1133
|
# 18.0.10
|
|
1134
|
+
|
|
953
1135
|
- enh(utils) Add static functions `isFirefox()`, `isSafari()` and `isEdge()` to test user agent
|
|
954
1136
|
- enh(utils) Add static functions `EntityUtils.collectIds()` and `EntityUtils.splitById()`
|
|
955
1137
|
- fix(utils) Mark function `EntityUtils.collectById()` as deprecated (in flavor of `EntityUtils.splitById()`)
|
|
956
1138
|
|
|
957
1139
|
# 18.1.0
|
|
1140
|
+
|
|
958
1141
|
- enh(deps) Upgrade to angular 18.2.11 and other deps
|
|
959
1142
|
- fix(deps) move maildev library into dev dependencies
|
|
960
1143
|
|
|
961
1144
|
# 18.1.1
|
|
1145
|
+
|
|
962
1146
|
- enh(deps) Update angular-eslint to 18.4.0
|
|
963
1147
|
|
|
964
1148
|
# 18.1.2
|
|
1149
|
+
|
|
965
1150
|
- enh(deps) Revert to Ionic 7.8.6
|
|
966
1151
|
|
|
967
1152
|
# 18.1.3
|
|
1153
|
+
|
|
968
1154
|
- fix(settings) Add static function `isOnFieldMode()`
|
|
969
|
-
- fix(menu) Make unpinned menu works, when reload app (F5) with a pinned menu
|
|
1155
|
+
- fix(menu) Make unpinned menu works, when reload app (F5) with a pinned menu
|
|
970
1156
|
|
|
971
1157
|
# 18.1.4
|
|
1158
|
+
|
|
972
1159
|
- fix(tab) Keep default tab label style (e.g. min-width) when stretch tabs is enabled
|
|
973
1160
|
- fix(tab) Reduce tab label padding, on small screen
|
|
974
1161
|
|
|
975
1162
|
# 18.1.7
|
|
1163
|
+
|
|
976
1164
|
- enh(AppFormArray) Add `clone()` function
|
|
977
1165
|
|
|
978
1166
|
# 18.2.0
|
|
1167
|
+
|
|
979
1168
|
- enh(base-entity-service) Allow opts.toEntity to be a function (e.g. to be able to transform each element, also when fetching more items)
|
|
980
1169
|
- fix(graphql-service) Allow `opts.update` to use new Apollo type `MutationUpdaterFunction` (type `MutationUpdaterFn` is deprecated)
|
|
981
1170
|
|
|
982
1171
|
# 18.2.6
|
|
1172
|
+
|
|
983
1173
|
- fix(autocomplete-field) Fix arrow drop icon position, when mobile
|
|
984
1174
|
- fix(autocomplete-field) Use desktop arrow drop icon, when multiple and desktop
|
|
985
1175
|
- fix(BaseEntityService) simplify functions `fromObject()` and `fromObjects()` (move `toEntity` argument into `options`)
|
|
@@ -989,105 +1179,135 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
989
1179
|
- enh(shared) New helper class `RegExpUtils`
|
|
990
1180
|
|
|
991
1181
|
# 18.2.7
|
|
1182
|
+
|
|
992
1183
|
- enh(autocomplete-field) Add `@Input() selectInputContentOnFocusDelay` - workaround when input text selection is overridden by another event (e.g. see in SUMARiS, in the calendar component)
|
|
993
1184
|
|
|
994
1185
|
# 18.2.9
|
|
1186
|
+
|
|
995
1187
|
- enh(autocomplete-field): Add `@Input() reloadItemsOnFocus` : Reload items when focused, necessary if filtered items depends on an external source (e.g. see in SUMARiS, in the calendar component)
|
|
996
1188
|
|
|
997
1189
|
# 18.2.11
|
|
1190
|
+
|
|
998
1191
|
- enh(DateUtils): Add `DateUtils.diffAbs()` to compute duration between two dates
|
|
999
1192
|
|
|
1000
1193
|
# 18.2.19
|
|
1194
|
+
|
|
1001
1195
|
- enh(timepicker) MatDateTime : Migrate timepicker to new library Ngx Mat TimePicker (fix animation, cancel button, Angular 17 compatibility, etc.)
|
|
1002
1196
|
|
|
1003
1197
|
# 18.2.21
|
|
1198
|
+
|
|
1004
1199
|
- enh(functions) Rename `selectInputContent` into `selectInputContentFromEvent`, and make `selectInputContent` that only use an <input> as argument
|
|
1005
1200
|
- enh(autocomplete-field) Add `@Input() clearInvalidValueOnBlur: boolean` to reset the field when typing invalid search text (no match or no many matches)
|
|
1006
1201
|
- fix(swipe-field) Fix swiper previous/next arrows
|
|
1007
1202
|
|
|
1008
1203
|
# 18.2.23
|
|
1204
|
+
|
|
1009
1205
|
- enh(validators) add option skipIfNoTime to dateRange
|
|
1010
1206
|
|
|
1011
1207
|
# 18.2.24
|
|
1208
|
+
|
|
1012
1209
|
- enh(pipe) add new pipe `isValidDate` with option `requiredTime` (to test date with noTime flag)
|
|
1013
1210
|
|
|
1014
1211
|
# 18.2.26
|
|
1212
|
+
|
|
1015
1213
|
- enh(select-peer-modal) Allow to search on peers modal
|
|
1016
1214
|
- enh(select-peer-modal) Allow to select peer by features (aka programs) - should set `enableSelectPeerByFeature: true` in the environment token (disabled by default)
|
|
1017
1215
|
|
|
1018
1216
|
# 18.2.28
|
|
1217
|
+
|
|
1019
1218
|
- fix(mat-boolean-field) Small refactoring + simplify blur detection, using standard Angular outputs
|
|
1020
1219
|
- enh(mat-latlong-field) Refactor the component, to use separate inputs (instead of using Maskito)
|
|
1021
1220
|
- fix(entity-store) setEntities() should mark all entities as dirty, when id mode is enabled (because an optimization in `persist()` that skip pristine entities)
|
|
1022
1221
|
|
|
1023
1222
|
# 18.2.29
|
|
1223
|
+
|
|
1024
1224
|
- enh(validators) add opts to dateMaxDuration to skip date with NoTime
|
|
1025
1225
|
- fix(mat-boolean-field) Fix buttons layout (padding) to be same as sumaris QV pmfm buttons
|
|
1026
1226
|
|
|
1027
1227
|
# 18.2.30
|
|
1228
|
+
|
|
1028
1229
|
- fix(forms) Fix error `TypeError: Cannot read properties of undefined (reading 'setControlEnabled')`
|
|
1029
1230
|
|
|
1030
1231
|
# 18.2.31
|
|
1232
|
+
|
|
1031
1233
|
- fix(mat-latlong-field) Prevent NaN on component initialization
|
|
1032
1234
|
|
|
1033
1235
|
# 18.2.32
|
|
1236
|
+
|
|
1034
1237
|
- fix(mat-latlong-field) Fix unit symbol font color
|
|
1035
1238
|
|
|
1036
1239
|
# 18.2.33
|
|
1240
|
+
|
|
1037
1241
|
- enh(ReferentialUtils) add static function `ReferentialUtils.isNotDisabled()`
|
|
1038
1242
|
|
|
1039
1243
|
# 18.3.0
|
|
1244
|
+
|
|
1040
1245
|
- fix(entity-editor) Fix page reload, when changing tab after the first save
|
|
1041
1246
|
|
|
1042
1247
|
# 18.3.9
|
|
1248
|
+
|
|
1043
1249
|
- fix(image-gallery) add a padding at bottom, for ios
|
|
1044
1250
|
- enh(android) Upgrade compileSdkVersion to API 34 (required by the Google Play Store)
|
|
1045
1251
|
- enh(theme) Add css class 'visible-xxs'
|
|
1046
|
-
- enh(dateDiffDuration) Add an option `opts.unit` to convert into a particular unit. If not defined, result will be like `x days HH:MM`
|
|
1252
|
+
- enh(dateDiffDuration) Add an option `opts.unit` to convert into a particular unit. If not defined, result will be like `x days HH:MM`
|
|
1047
1253
|
|
|
1048
1254
|
# 18.3.16
|
|
1255
|
+
|
|
1049
1256
|
- fix(AppFormUtils) `disableControl()` now disable without reset value
|
|
1050
1257
|
- enh(AppFormUtils) Add `disableAndClearControl()` that can disable then clear the control
|
|
1051
1258
|
|
|
1052
1259
|
# 18.3.17
|
|
1260
|
+
|
|
1053
1261
|
- fix(mat-chip-field) fix issue sumaris-app#844
|
|
1054
1262
|
|
|
1055
1263
|
# 18.3.18
|
|
1264
|
+
|
|
1056
1265
|
- fix(mat-*-field) Avoid to display 'false' as input placeholder, when floatLabel="never"
|
|
1057
1266
|
|
|
1058
1267
|
# 18.3.19
|
|
1268
|
+
|
|
1059
1269
|
- fix(mat-latlong-field) Fix height in theme.scss (Need to remove one extra pixel, because of the sign that use a mat-select)
|
|
1060
1270
|
|
|
1061
1271
|
# 18.3.20
|
|
1062
|
-
|
|
1272
|
+
|
|
1273
|
+
- enh(directive) Add new directive to avoid prevent double click: Simply replace `(click)=...` by `(throttledClick)=...`
|
|
1063
1274
|
|
|
1064
1275
|
# 18.3.21
|
|
1276
|
+
|
|
1065
1277
|
- fix(table) Add a `@Input() openRowThrottleTime = 800` to prevent double click to open a row (see issue sumaris-app#864)
|
|
1066
1278
|
|
|
1067
1279
|
# 18.3.22
|
|
1280
|
+
|
|
1068
1281
|
- fix(async-table) Add a `@Input() openRowThrottleTime = 800` to prevent double click to open a row
|
|
1069
1282
|
|
|
1070
1283
|
# 18.3.24
|
|
1284
|
+
|
|
1071
1285
|
- fix(geolocation) Do not use Capacitor plugin, when using without capacitor
|
|
1072
1286
|
|
|
1073
1287
|
# 18.3.25
|
|
1074
|
-
|
|
1288
|
+
|
|
1289
|
+
- fix(platform) Fix infinite loop on auto reload, when new version detected at startup (allow version using 'alpha', 'beta' or 'rc')
|
|
1075
1290
|
|
|
1076
1291
|
# 18.3.26
|
|
1292
|
+
|
|
1077
1293
|
- fix(timepicker) Increase max-width for small screens
|
|
1078
1294
|
|
|
1079
1295
|
# 18.3.27
|
|
1296
|
+
|
|
1080
1297
|
- fix(table) Use SortDirection type, for getter sortDirection
|
|
1081
1298
|
- fix(async-table) Use SortDirection type, for getter sortDirection
|
|
1082
1299
|
|
|
1083
1300
|
# 18.4.0
|
|
1301
|
+
|
|
1084
1302
|
- enh(mat-latlong-field) Refactoring component, to use distinct `<input>`
|
|
1085
1303
|
|
|
1086
1304
|
# 18.4.4
|
|
1305
|
+
|
|
1087
1306
|
- enh(settings) Add a button to access to the user account
|
|
1088
1307
|
- enh(menu) Change my account button color, when account page is open (add a 'selected' class, like for a selected menu item)
|
|
1089
1308
|
|
|
1090
1309
|
# 18.5.0
|
|
1310
|
+
|
|
1091
1311
|
- enh(capacitor) Migrate to capacitor 6
|
|
1092
1312
|
- enh(deps) Migrate to Network plugin
|
|
1093
1313
|
- fix(properties-form) Selected option not visible, on mobile device - fix #16
|
|
@@ -1098,150 +1318,194 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
1098
1318
|
- enh(account) Display the offline card, when network is offline and the page disabled
|
|
1099
1319
|
|
|
1100
1320
|
# 18.5.1
|
|
1321
|
+
|
|
1101
1322
|
- enh(account, settings) Avoid to quit or refresh the page, without saving (web browser)
|
|
1102
1323
|
|
|
1103
1324
|
# 18.5.4
|
|
1325
|
+
|
|
1104
1326
|
- fix(entity-editor) Fix update route with tab params (URL was not updated sometimes)
|
|
1105
1327
|
|
|
1106
1328
|
# 18.5.5
|
|
1329
|
+
|
|
1107
1330
|
- fix(audio) Avoid trying to use audio management, in iOS
|
|
1108
1331
|
- enh(install-upgrade-card) Add a debug Input, to debug install link url
|
|
1109
1332
|
|
|
1110
1333
|
# 18.5.6
|
|
1334
|
+
|
|
1111
1335
|
- fix(platform) Avoid error on status bar, in iOS
|
|
1112
1336
|
|
|
1113
1337
|
# 18.5.7
|
|
1338
|
+
|
|
1114
1339
|
- fix(platform) Hide splash screen on macOS
|
|
1115
1340
|
- enh(home) Add legal information by configuration
|
|
1116
1341
|
- enh(help-modal) Add error management from markdown
|
|
1117
1342
|
|
|
1118
1343
|
# 18.5.8
|
|
1344
|
+
|
|
1119
1345
|
- enh(home) Add privacy policy links (using environment property or config option)
|
|
1120
1346
|
|
|
1121
1347
|
# 18.5.10
|
|
1122
|
-
|
|
1348
|
+
|
|
1349
|
+
- fix(theme) Auto enable dark mode (if allow) until the user change it in the settings page
|
|
1123
1350
|
|
|
1124
1351
|
# 18.5.11
|
|
1352
|
+
|
|
1125
1353
|
- fix(settings) Merge properties from account into properties from local storage - see sumaris-app#897
|
|
1126
1354
|
|
|
1127
1355
|
# 18.6.0
|
|
1356
|
+
|
|
1128
1357
|
- enh(pipes) Add `replace` pipe
|
|
1129
1358
|
- enh(markdown) Rename `HelpModal` into `AppMarkdownModal`
|
|
1130
1359
|
- enh(markdown) Add new markdown components, that allow navigation with markdown relative links
|
|
1131
1360
|
|
|
1132
1361
|
# 18.6.9
|
|
1362
|
+
|
|
1133
1363
|
- enh(public_api) Expert `NetworkUtils` and `VersionUtils`
|
|
1134
1364
|
|
|
1135
1365
|
# 18.6.12
|
|
1366
|
+
|
|
1136
1367
|
- fix(markdown) Fix link click
|
|
1137
1368
|
- fix(theme) Set mat-expansion panel colors, to use ionic color
|
|
1138
1369
|
|
|
1139
1370
|
# 18.6.13
|
|
1371
|
+
|
|
1140
1372
|
- enh(gallery): Allow to use textual button, instead of card button
|
|
1141
1373
|
- fix(gallery): Keep the given input mode (auto set only if empty)
|
|
1142
1374
|
|
|
1143
1375
|
# 18.6.14
|
|
1376
|
+
|
|
1144
1377
|
- fix(markdown) Fix link click (avoid router resolution if target is a markdown file)
|
|
1145
1378
|
|
|
1146
1379
|
# 18.6.15
|
|
1380
|
+
|
|
1147
1381
|
- fix(table) Avoid subscript part of a field, to be clicked, in table (event when row is disabled)
|
|
1148
1382
|
|
|
1149
1383
|
# 18.6.16
|
|
1384
|
+
|
|
1150
1385
|
- enh(properties-form) Add `keyPanelClass` and `valuePanelClass`
|
|
1151
1386
|
|
|
1152
1387
|
# 18.6.19
|
|
1388
|
+
|
|
1153
1389
|
- fix(autocomplete-field) Avoid too many blur events - see issue sumaris-app#837
|
|
1154
1390
|
|
|
1155
1391
|
# 18.6.22
|
|
1392
|
+
|
|
1156
1393
|
- enh(styles) Avoid use selection of tab labels
|
|
1157
1394
|
|
|
1158
1395
|
# 18.6.23
|
|
1396
|
+
|
|
1159
1397
|
- enh(PlatformService) Add `markAsBusy()` and `markAsNotBusy()` to display a backdrop (e.g. from the app.component.ts)
|
|
1160
1398
|
|
|
1161
1399
|
# 18.6.25
|
|
1400
|
+
|
|
1162
1401
|
- enh(PlatformService) Make `showToast()` public (instead of protected)
|
|
1163
1402
|
|
|
1164
1403
|
# 18.6.26
|
|
1404
|
+
|
|
1165
1405
|
- enh(PlatformService) Add `closeToast(id: number)`
|
|
1166
1406
|
|
|
1167
1407
|
# 18.6.27
|
|
1408
|
+
|
|
1168
1409
|
- enh(pipes) Add pipe `arrayDistinct`
|
|
1169
1410
|
|
|
1170
1411
|
# 18.6.28
|
|
1412
|
+
|
|
1171
1413
|
- enh(PrintService) Add `?print-id=` into created iframe URL
|
|
1172
1414
|
- enh(PrintService) Add function `getJobId(url?: string)` to retrieve the Job ID of the given URL
|
|
1173
1415
|
|
|
1174
1416
|
# 18.6.33
|
|
1417
|
+
|
|
1175
1418
|
- enh(PrintService) Add function `isPrintingUrl(url?: string, queryParam: string = 'print-id')` to known if a URL is for printing
|
|
1176
1419
|
|
|
1177
1420
|
# 18.6.36
|
|
1421
|
+
|
|
1178
1422
|
- enh(pipes) Add pipes `truncText` and `truncHtml`
|
|
1179
1423
|
|
|
1180
1424
|
# 18.6.37
|
|
1425
|
+
|
|
1181
1426
|
- enh(SharedValidators) Add new validators `SharedValidators.validDateAllowNoTime` and `SharedValidators.validDateTime(requiredTime = true)`
|
|
1182
1427
|
- fix(SharedValidators) Make sure `SharedValidators.validDate` failed when no time set
|
|
1183
1428
|
- fix(mat-date-time) MatDateTime should have an error, when no time
|
|
1184
1429
|
|
|
1185
1430
|
# 18.6.39
|
|
1431
|
+
|
|
1186
1432
|
- enh(pipes) Add some pipes for observables : `firstTrue`, `firstFalse`, `first`
|
|
1187
1433
|
|
|
1188
1434
|
# 18.6.42
|
|
1435
|
+
|
|
1189
1436
|
- fix(theme) Redirect CSS variables `--mat-sidenav-*` to theme variables `--ion-*` (need for dark theme)
|
|
1190
1437
|
|
|
1191
1438
|
# 18.6.45
|
|
1439
|
+
|
|
1192
1440
|
- enh(directive): Add a workaround for directive `cdkTextareaAutosize` to fix scroll behavior (see issue sumaris-app#950)
|
|
1193
1441
|
|
|
1194
1442
|
# 18.6.46
|
|
1195
|
-
|
|
1443
|
+
|
|
1444
|
+
- fix(home) Hide the print icon when mobile, in the markdown modal (e.g. legacy info)
|
|
1196
1445
|
|
|
1197
1446
|
# 18.6.50
|
|
1198
|
-
|
|
1447
|
+
|
|
1448
|
+
- fix(autocomplete-field) Avoid to display a suggest result, when a newer call is running
|
|
1199
1449
|
|
|
1200
1450
|
# 18.6.51
|
|
1451
|
+
|
|
1201
1452
|
- fix(toast) Fix info/warning color, for dark theme
|
|
1202
1453
|
- fix(toast) Use text color for button color (can be override in app's custom theme)
|
|
1203
1454
|
|
|
1204
1455
|
# 18.6.56
|
|
1456
|
+
|
|
1205
1457
|
- fix(menu) Refresh menu, when logout after a pod changed
|
|
1206
1458
|
|
|
1207
1459
|
# 18.6.57
|
|
1460
|
+
|
|
1208
1461
|
- fix(rx-state) Merge annotations from sumaris-app shared annotation
|
|
1209
1462
|
|
|
1210
1463
|
# 18.6.58
|
|
1211
|
-
|
|
1464
|
+
|
|
1465
|
+
- enh(EntityUtils) In functions `EntityUtils.isEmpty()` and `EntityUtils.isNotEmpty()`: the second argument `checkAttribute` is now 'id' by default
|
|
1212
1466
|
- enh(EntityUtils) Add `EntityUtils.hasNilId()`
|
|
1213
1467
|
|
|
1214
1468
|
# 18.6.59
|
|
1469
|
+
|
|
1215
1470
|
- enh(EntityUtils) Add `EntityUtils.findById(items: E[], id: ID)`
|
|
1216
1471
|
|
|
1217
1472
|
# 18.6.60
|
|
1473
|
+
|
|
1218
1474
|
- fix(toast) Add a default anchor to app-toolbar
|
|
1219
1475
|
|
|
1220
1476
|
# 18.6.61
|
|
1477
|
+
|
|
1221
1478
|
- enh(DateUtils) add `durationToString()` and change duration pipe
|
|
1222
1479
|
|
|
1223
1480
|
# 18.6.62
|
|
1224
|
-
|
|
1481
|
+
|
|
1482
|
+
- fix(toast) Add default icon when `options.type` is `warning` and `error`
|
|
1225
1483
|
|
|
1226
1484
|
# 18.6.63
|
|
1485
|
+
|
|
1227
1486
|
- fix(autocomplete) Fix `class="min-width-medium"` option alignment - fix issue sumaris-app#943
|
|
1228
1487
|
|
|
1229
1488
|
# 18.6.65
|
|
1489
|
+
|
|
1230
1490
|
- fix(theme) Fix timepicker modal color, for dark mode
|
|
1231
1491
|
|
|
1232
1492
|
# 18.6.66
|
|
1493
|
+
|
|
1233
1494
|
- enh(home) Add a dark theme toggle button (is dark mode enable)
|
|
1234
1495
|
|
|
1235
1496
|
# 18.6.69
|
|
1497
|
+
|
|
1236
1498
|
- enh(users) Add compact rows mode
|
|
1237
1499
|
- enh(users) Add columns updateDate and creationDate
|
|
1238
1500
|
- enh(users) Add a download to CSV button
|
|
1239
|
-
- fix(deps) Replace deprecated @ionic-native by
|
|
1501
|
+
- fix(deps) Replace deprecated @ionic-native by @awesome-cordova-plugins
|
|
1240
1502
|
|
|
1241
1503
|
# 18.6.71
|
|
1504
|
+
|
|
1242
1505
|
- fix(latlong) Remove required validator on sub controls, required is false
|
|
1243
1506
|
|
|
1244
1507
|
# 18.7.0
|
|
1508
|
+
|
|
1245
1509
|
- enh(account) Save account settings with only configured keys
|
|
1246
1510
|
- fix(mat-duration) Change the DEFAULT_MAX_DECIMALS to 7 and use DateUtils.durationToString() to get value
|
|
1247
1511
|
|
|
@@ -1251,228 +1515,298 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
1251
1515
|
|
|
1252
1516
|
# 18.7.4
|
|
1253
1517
|
|
|
1254
|
-
- enh(pipes) Add `RoundPipe`, Add parameter on `round` function
|
|
1518
|
+
- enh(pipes) Add `RoundPipe`, Add parameter on `round` function
|
|
1255
1519
|
- fix(mat-duration) component emit valid and dirty
|
|
1256
1520
|
- enh(users) display label for organization in displayed columns
|
|
1257
1521
|
- enh(actions-column) Add input `cellTemplateStart`
|
|
1258
1522
|
- fix(mat-chips-field) Show the required marker, when required=true
|
|
1259
1523
|
|
|
1260
1524
|
# 18.7.5
|
|
1525
|
+
|
|
1261
1526
|
- fix(AppFormContainer, AppEditor) Add `enabledSubject` observable
|
|
1262
1527
|
|
|
1263
1528
|
# 18.7.7
|
|
1264
|
-
|
|
1529
|
+
|
|
1530
|
+
- enh(type) Add a new type `Observed<T>` to publish all properties
|
|
1265
1531
|
|
|
1266
1532
|
# 18.7.8
|
|
1533
|
+
|
|
1267
1534
|
- enh(ComponentDirtyGuard, CanLeave) Add function `deactivate()`
|
|
1268
1535
|
|
|
1269
1536
|
# 18.7.9
|
|
1537
|
+
|
|
1270
1538
|
- enh(ImageGallery) Add `@Input() cardTemplate` to override the default card template
|
|
1271
1539
|
|
|
1272
1540
|
# 18.7.10
|
|
1541
|
+
|
|
1273
1542
|
- enh(table, async-table) Do not clear selection inside `clickRow()`, but only in `openRow()` before navigating to detail
|
|
1274
1543
|
|
|
1275
1544
|
# 18.7.11
|
|
1545
|
+
|
|
1276
1546
|
- enh(table, async-table) Add `@Output() onClickRow`
|
|
1277
1547
|
|
|
1278
1548
|
# 18.7.12
|
|
1549
|
+
|
|
1279
1550
|
- enh(animation) Add `expansionAnimation`
|
|
1280
1551
|
|
|
1281
1552
|
# 18.7.13
|
|
1553
|
+
|
|
1282
1554
|
- fix(table, async-table) Don't threat undefined value emitted by `loadingSubject`
|
|
1283
1555
|
|
|
1284
1556
|
# 18.7.14
|
|
1285
|
-
|
|
1557
|
+
|
|
1558
|
+
- enh(image-gallery) Open image URL using q query params (e.g. `?size=<large|medium|small>` - params name and values can be configured by inputs)
|
|
1286
1559
|
|
|
1287
1560
|
# 18.7.17
|
|
1561
|
+
|
|
1288
1562
|
- fix(home) Inverse dark theme icon
|
|
1289
|
-
- fix(pipes) Allow selection pipes for `AppTable` and `AppAsyncTable`
|
|
1563
|
+
- fix(pipes) Allow selection pipes for `AppTable` and `AppAsyncTable`
|
|
1290
1564
|
|
|
1291
1565
|
# 18.7.19
|
|
1566
|
+
|
|
1292
1567
|
- enh(functions) Add function `interpolateString` to bind a message using given parameters
|
|
1293
1568
|
|
|
1294
1569
|
# 18.7.20
|
|
1570
|
+
|
|
1295
1571
|
- enh(autocomplete-field) Allow to display favorites items in the dropdown panel, by using `@Input() favoriteItems: any[]`
|
|
1296
1572
|
- fix(functions) Fix runtime error in function `interpolateString`
|
|
1297
1573
|
|
|
1298
1574
|
# 18.7.20
|
|
1299
|
-
|
|
1575
|
+
|
|
1576
|
+
- enh(autocomplete-field) Allow to toggle favorite
|
|
1300
1577
|
|
|
1301
1578
|
# 18.7.24
|
|
1302
|
-
|
|
1579
|
+
|
|
1580
|
+
- fix(autocomplete-field) Avoid to display 'null' as field title (on mouse over)
|
|
1303
1581
|
- fix(autocomplete-field) Keep the favorite column visible, when favoriteItems is empty but `toggleFavorite` output is observed
|
|
1304
1582
|
|
|
1305
1583
|
# 18.7.25
|
|
1306
|
-
|
|
1584
|
+
|
|
1585
|
+
- enh(autocomplete-field) Add `@Output() openedChange: EventEmitter<boolean>` to listen panel open/close state
|
|
1307
1586
|
|
|
1308
1587
|
# 18.7.27
|
|
1588
|
+
|
|
1309
1589
|
- enh(mat-boolean-field) Add `@Input() autofocus`
|
|
1310
1590
|
|
|
1311
1591
|
# 18.7.29
|
|
1592
|
+
|
|
1312
1593
|
- enh(pipes) Change pipe `asBoolean: <mapperFn>` to allow `mapperFn` to have more arguments (e.g. `| asBoolean: mapperFn: 'arg2'`)
|
|
1313
1594
|
|
|
1314
1595
|
# 18.8.0
|
|
1596
|
+
|
|
1315
1597
|
- enh(auth-guard,home) Allow to define a custom `defaultRoute` in `Environment`
|
|
1316
1598
|
|
|
1317
1599
|
# 18.8.3
|
|
1600
|
+
|
|
1318
1601
|
- enh(image-service) Add more options to the `add()` function (e.g. `source: 'PROMPT'|'CAMERA'|'GALLERY'`)
|
|
1319
1602
|
|
|
1320
1603
|
# 18.8.8
|
|
1604
|
+
|
|
1321
1605
|
- fix(form) `AppForm.getFormError()` now uses the provided form or this.form
|
|
1322
|
-
- fix(table.pipes) Fix error when table's datasource subscription, when table not found (e.g. on pipe `isAllSelected`)
|
|
1606
|
+
- fix(table.pipes) Fix error when table's datasource subscription, when table not found (e.g. on pipe `isAllSelected`)
|
|
1323
1607
|
|
|
1324
1608
|
# 18.8.10
|
|
1325
|
-
|
|
1609
|
+
|
|
1610
|
+
- fix(autocomplete-field) Fix error in `reloadItems()` when mobile but matSelect is not used
|
|
1326
1611
|
|
|
1327
1612
|
# 18.8.11
|
|
1613
|
+
|
|
1328
1614
|
- enh(types) Add type `OmitFunctions` to get only properties of a class, without functions (e.g. from an Entity class)
|
|
1329
1615
|
|
|
1330
1616
|
# 18.8.15
|
|
1331
|
-
|
|
1617
|
+
|
|
1618
|
+
- enh(EntityUtils) Use more précise parametrized types in function `EntityUtils.cleanIdAndUpdateDate`
|
|
1332
1619
|
|
|
1333
1620
|
# 18.8.16
|
|
1621
|
+
|
|
1334
1622
|
- enh(EntityUtils) Add function `EntityUtils.fromObject(source, dataType)`
|
|
1335
1623
|
|
|
1336
1624
|
# 18.8.17
|
|
1625
|
+
|
|
1337
1626
|
- enh(file.utils) In function `FileUtils.writeTextToFile` set attributes `lastModifiedDate` and `filename` in the generated Blob object
|
|
1338
1627
|
|
|
1339
1628
|
# 18.8.20
|
|
1629
|
+
|
|
1340
1630
|
- fix(pipes) Fix `mapGet` pipe to return `undefined` (or `defaultValue`) instead of `null`, when no input value, or no key.
|
|
1341
1631
|
This is important, to have same behavior as `propertyGet` pipey
|
|
1342
|
-
- enh(functions) Add `numberOrNilAttribute` that allow `undefined|null` input (without convert into `NaN`)
|
|
1632
|
+
- enh(functions) Add `numberOrNilAttribute` that allow `undefined|null` input (without convert into `NaN`)
|
|
1343
1633
|
|
|
1344
1634
|
# 18.8.21
|
|
1345
|
-
|
|
1635
|
+
|
|
1636
|
+
- fix(functions) Fix `underscoreToChangeCase()`
|
|
1346
1637
|
- e.g. `underscoreToChangeCase('my_property')` => `myProperty` instead of `my,Property`
|
|
1347
|
-
- Add unit test, to have same behavior as the Java implementation (SUMARiS Pod)
|
|
1638
|
+
- Add unit test, to have same behavior as the Java implementation (SUMARiS Pod)
|
|
1348
1639
|
|
|
1349
1640
|
# 18.8.23
|
|
1350
|
-
|
|
1351
|
-
- fix(table, async-table) Fix duplicateRows() to
|
|
1641
|
+
|
|
1642
|
+
- fix(table, async-table) Fix duplicateRows() to allow `skipProperties` on complex paths
|
|
1643
|
+
- fix(table, async-table) Fix duplicateRows() to use deep clone (using `row.cloneData()` instead of `{...row.currentData}`)
|
|
1352
1644
|
|
|
1353
1645
|
# 18.8.24
|
|
1646
|
+
|
|
1354
1647
|
- fix(table, async-table) duplicateRows() - rename `options.skipProperties` into `options.excludedProperties`
|
|
1355
|
-
- enh(table, async-table) duplicateRows() - add `options.includedProperties`
|
|
1648
|
+
- enh(table, async-table) duplicateRows() - add `options.includedProperties`
|
|
1356
1649
|
- enh(csv-utils) Add more options to CsvUtils.exportToCsv() (e.g. `options.includedProperties`, `options.excludedProperties`)
|
|
1357
1650
|
|
|
1358
1651
|
# 18.8.26
|
|
1652
|
+
|
|
1359
1653
|
- enh(image-gallery) Add `@Input() showAddToolbarButton: boolean`
|
|
1360
1654
|
|
|
1361
1655
|
# 18.9.0
|
|
1656
|
+
|
|
1362
1657
|
- enh(deps) Upgrade to `ngx-material-table@18.0.0` (build for Angular 18)
|
|
1363
1658
|
- enh(functions) Add `Beans.clone()` for deep cloning a JS object
|
|
1364
1659
|
|
|
1365
1660
|
# 18.9.1
|
|
1661
|
+
|
|
1366
1662
|
- enh(EntitiesTableDataSource) Add more options in function `waitIdle(opts: number | ({ debounceTimeMs?: number } & FirstOptions))`
|
|
1367
1663
|
- enh(IEntitiesService) Add readonly property `defaultFetchPolicy: WatchQueryFetchPolicy` (need by `EntitiesTableDataSource.waitIdle()`)
|
|
1368
1664
|
|
|
1369
1665
|
# 18.9.2
|
|
1666
|
+
|
|
1370
1667
|
- fix(EntitiesTableDataSource) Fix function `waitIdle()`
|
|
1371
|
-
- fix(EntitiesTableDataSource) Remove some deprecated feature: `close()` and `serviceOptions`
|
|
1668
|
+
- fix(EntitiesTableDataSource) Remove some deprecated feature: `close()` and `serviceOptions`
|
|
1372
1669
|
|
|
1373
1670
|
# 18.9.3
|
|
1374
|
-
|
|
1671
|
+
|
|
1672
|
+
- fix(AppTable, AppAsyncTable) Make sure to call table.markAsDirty() when the editing row is dirty
|
|
1375
1673
|
|
|
1376
1674
|
# 18.9.4
|
|
1675
|
+
|
|
1377
1676
|
- fix(MatBooleanField) Fix alignment when floatLabel="never", on styles 'checkbox' and 'button'
|
|
1378
1677
|
- fix(MatBooleanField) Exclude more blur internal events (e.g. when the hidden input is the target)
|
|
1379
1678
|
- fix(AppFormField) Make sure to pass readonly input to all internal input/field (was ignored in style 'enums' and 'color')
|
|
1380
1679
|
|
|
1381
1680
|
# 18.9.5
|
|
1681
|
+
|
|
1382
1682
|
- fix(functions) Fix `round()` when passing a string value, instead of a number (avoid to return `NaN`)
|
|
1383
1683
|
|
|
1384
1684
|
# 18.9.6
|
|
1685
|
+
|
|
1385
1686
|
- enh(pipes) Add `MapPipe` to convert an object into another (e.g. `object | map: converToSomething` or `object$ | map: converToSomething | async`)
|
|
1386
1687
|
|
|
1387
1688
|
# 18.9.7
|
|
1388
|
-
|
|
1689
|
+
|
|
1690
|
+
- fix(platform-service) Avoid toggling dark mode, when window's media match 'print'
|
|
1389
1691
|
|
|
1390
1692
|
# 18.10.0
|
|
1693
|
+
|
|
1391
1694
|
- enh(deps) Upgrade to ngx-material-table@18.0.1 (allow to create new row with insertAt=0)
|
|
1392
1695
|
|
|
1393
1696
|
# 18.10.1
|
|
1697
|
+
|
|
1394
1698
|
- fix(theme) Avoid a add the dark CSS class, when on screen media
|
|
1395
1699
|
|
|
1396
1700
|
# 18.10.2
|
|
1397
|
-
|
|
1701
|
+
|
|
1702
|
+
- fix(PersonUtils) `PersonUtils.personToString()` should always display lastname then firstName (even when `opts.withDepartment=true`)
|
|
1398
1703
|
|
|
1399
1704
|
# 18.10.3
|
|
1400
|
-
|
|
1705
|
+
|
|
1706
|
+
- fix(GraphqlService) Make sure cache data is an array, before trying to update it (to avoid console error when cache data has been corrupted)
|
|
1401
1707
|
|
|
1402
1708
|
# 18.10.4
|
|
1403
|
-
|
|
1709
|
+
|
|
1710
|
+
- fix(GraphqlService) Fix addManyToQueryCache() when cacheable query result size exceed (cached data were corrupted when trying to update the cached total)
|
|
1404
1711
|
|
|
1405
1712
|
# 18.10.7
|
|
1713
|
+
|
|
1406
1714
|
- fix(autocomplete-field) Add `@Input() colSizes = [undefined, 'auto']` to fix layout when using `matAfter`
|
|
1407
1715
|
|
|
1408
1716
|
# 18.10.8
|
|
1717
|
+
|
|
1409
1718
|
- fix(chips-field) Add `@Input() colSizes = [undefined, 'auto']` to fix layout when using `matAfter`
|
|
1410
1719
|
|
|
1411
1720
|
# 18.10.11
|
|
1721
|
+
|
|
1412
1722
|
- enh(array.pipe) Add `arrayFindByProperty` pipe
|
|
1413
1723
|
|
|
1414
1724
|
# 18.10.12
|
|
1415
|
-
|
|
1725
|
+
|
|
1726
|
+
- enh(table) Add a setter for `sortActive` property
|
|
1416
1727
|
|
|
1417
1728
|
# 18.10.13
|
|
1418
|
-
|
|
1729
|
+
|
|
1730
|
+
- enh(array.pipe) Add arraySort pipe
|
|
1419
1731
|
|
|
1420
1732
|
# 18.10.14
|
|
1733
|
+
|
|
1421
1734
|
- enh(functions) Add function `formatNumber(value: number: opts): string`
|
|
1422
1735
|
|
|
1423
1736
|
# 18.10.22
|
|
1737
|
+
|
|
1424
1738
|
- enh(SharedFormGroupValidators) Add more options to `requiredIf` (allow to set the `isEmpty` function)
|
|
1425
1739
|
|
|
1426
1740
|
# 18.10.23
|
|
1741
|
+
|
|
1427
1742
|
- fix(mat-chips-field) Fix error color
|
|
1428
1743
|
|
|
1429
1744
|
# 18.10.25
|
|
1745
|
+
|
|
1430
1746
|
- enh(arrays.pipe.ts) move SplitArrayInChunksPipe from sumaris to sumaris-ngx-component
|
|
1431
1747
|
- enh(function.ts) add utils function to split array in chunks
|
|
1432
1748
|
|
|
1433
1749
|
# 18.10.28
|
|
1750
|
+
|
|
1434
1751
|
- enh(gallery) Allow to pass options to `gallery.add()` (e.g. `{multiple: true; autoHideDropArea: true}`)
|
|
1435
1752
|
|
|
1436
1753
|
# 18.11.0
|
|
1437
|
-
|
|
1438
|
-
-
|
|
1754
|
+
|
|
1755
|
+
- fix(inputs) `canHaveFocus()`: rename option `excludeEmptyInput` into `isEmpty` (confusing naming)
|
|
1756
|
+
- enh(inputs) `canHaveFocus()`: add `isNotEmpty` option
|
|
1439
1757
|
|
|
1440
1758
|
# 18.12.2
|
|
1441
|
-
|
|
1759
|
+
|
|
1760
|
+
- enh(MapPipe) Allow to pass arguments to the `map` pipe (e.g. `value | map: converToSomething: 'arg2'` will call `converToSomething(value, 'arg2'`)
|
|
1442
1761
|
|
|
1443
1762
|
# 18.12.3
|
|
1763
|
+
|
|
1444
1764
|
- enh(AppTable, AppAsyncTable) FUnction `trackFn()` can now return `any` (instead of `number`) - like the official Angular `TrackByFunction`
|
|
1445
1765
|
|
|
1446
1766
|
# 18.12.4
|
|
1767
|
+
|
|
1447
1768
|
- enh(deps) Fix version of webpack
|
|
1448
1769
|
- enh(deps) Upgrade ngx-material-table into 18.0.4
|
|
1449
1770
|
|
|
1450
1771
|
# 18.12.5
|
|
1772
|
+
|
|
1451
1773
|
- enh(functions) Add function `UrlUtils.appendQueryParams()` to append q queryParams (as a map) to an url
|
|
1452
1774
|
|
|
1453
1775
|
# 18.12.6
|
|
1454
|
-
|
|
1776
|
+
|
|
1777
|
+
- enh(functions) Allow `UrlUtils.appendQueryParams()` to get url as `string | any[]`
|
|
1455
1778
|
|
|
1456
1779
|
# 18.12.7
|
|
1780
|
+
|
|
1457
1781
|
- enh(forms) Add `AppFormUtils.setFormErrors()` to apply errors into a form group and it children (inverse function as `getFormErrors()`))
|
|
1458
1782
|
- enh(forms) Allow `AppFormUtils.getControlFromPath()` to works with any control (FormGroup, FormArray or simple control)
|
|
1459
1783
|
|
|
1460
1784
|
# 18.12.8
|
|
1785
|
+
|
|
1461
1786
|
- enh(tree-item-entity) Add `TreeItemEntityUtils.fromObjectArrayAsTrees()` to convert array of objects, into trees (return root items)
|
|
1462
1787
|
|
|
1463
1788
|
# 18.12.11
|
|
1789
|
+
|
|
1464
1790
|
- enh(entities-table-datasource) When saving, do not call `markAsLoading()`
|
|
1465
1791
|
|
|
1466
1792
|
# 18.12.12
|
|
1793
|
+
|
|
1467
1794
|
- fix(form-container) Avoid to add a child form twice (add a test before adding a child form)
|
|
1468
1795
|
|
|
1469
1796
|
# 18.12.13
|
|
1797
|
+
|
|
1470
1798
|
- fix(AppTable, AppAsyncTable) When press 'escape' on an edited row will cancel row, if the row is still pristine, instead of trying to confirm the row (see `escapeEditingRow()`)
|
|
1471
1799
|
|
|
1472
1800
|
# 18.13.0
|
|
1801
|
+
|
|
1473
1802
|
- enh(home) Allow to show notification icons, in the home page, using a new APP_HOME_CONFIG token
|
|
1474
1803
|
- enh(user-event) Add a modal to show notifications (e.g. for mobile)
|
|
1475
1804
|
|
|
1476
1805
|
# 18.14.0
|
|
1806
|
+
|
|
1477
1807
|
- enh(network) Add fetch function to load JSON file
|
|
1478
|
-
- enh(social) Add a feed component, to display news from a service (e.g. Json Feed or Discourse)
|
|
1808
|
+
- enh(social) Add a feed component, to display news from a service (e.g. Json Feed or Discourse)
|
|
1809
|
+
|
|
1810
|
+
# 18.14.17
|
|
1811
|
+
|
|
1812
|
+
- enh(pipes) Add pipe `arrayMap` to transform each map's items by a function
|