@domql/element 2.5.173 → 2.5.175

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.
@@ -43,6 +43,7 @@ __export(methods_exports, {
43
43
  warn: () => warn
44
44
  });
45
45
  module.exports = __toCommonJS(methods_exports);
46
+ var import_event = require("@domql/event");
46
47
  var import_utils = require("@domql/utils");
47
48
  var import_tree = require("../tree");
48
49
  var import_mixins = require("../mixins");
@@ -140,8 +141,11 @@ function setNodeStyles(params = {}) {
140
141
  }
141
142
  return el;
142
143
  }
143
- function remove() {
144
+ function remove(opts) {
144
145
  const element = this;
146
+ const beforeUpdateReturns = (0, import_event.triggerEventOn)("beforeRemove", element, opts);
147
+ if (beforeUpdateReturns === false)
148
+ return element;
145
149
  if ((0, import_utils.isFunction)(element.node.remove))
146
150
  element.node.remove();
147
151
  else if (!(0, import_utils.isProduction)()) {
@@ -151,6 +155,7 @@ function remove() {
151
155
  delete element.parent[element.key];
152
156
  if (element.parent.__ref)
153
157
  element.parent.__ref.__children = (0, import_utils.removeValueFromArray)(element.parent.__ref.__children, element.key);
158
+ (0, import_event.triggerEventOn)("remove", element, opts);
154
159
  }
155
160
  function get(param) {
156
161
  const element = this;
@@ -254,6 +259,7 @@ function error(...params) {
254
259
  console.error(...params);
255
260
  if ((_b = params[params.length - 1]) == null ? void 0 : _b.verbose)
256
261
  verbose.call(this);
262
+ throw new Error(...params);
257
263
  }
258
264
  }
259
265
  function nextElement() {
package/methods/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  'use strict'
2
2
 
3
+ import { triggerEventOn } from '@domql/event'
3
4
  import { isDefined, isObject, isFunction, isObjectLike, isProduction, removeValueFromArray, deepClone } from '@domql/utils'
4
5
  import { TREE } from '../tree'
5
6
  import { parseFilters, REGISTRY } from '../mixins'
@@ -100,8 +101,10 @@ export function setNodeStyles (params = {}) {
100
101
  return el
101
102
  }
102
103
 
103
- export function remove () {
104
+ export function remove (opts) {
104
105
  const element = this
106
+ const beforeUpdateReturns = triggerEventOn('beforeRemove', element, opts)
107
+ if (beforeUpdateReturns === false) return element
105
108
  if (isFunction(element.node.remove)) element.node.remove()
106
109
  else if (!isProduction()) {
107
110
  console.warn('This item cant be removed')
@@ -109,6 +112,7 @@ export function remove () {
109
112
  }
110
113
  delete element.parent[element.key]
111
114
  if (element.parent.__ref) element.parent.__ref.__children = removeValueFromArray(element.parent.__ref.__children, element.key)
115
+ triggerEventOn('remove', element, opts)
112
116
  }
113
117
 
114
118
  export function get (param) {
@@ -217,6 +221,7 @@ export function error (...params) {
217
221
  if (params[params.length - 1]?.debugger) debugger // eslint-disable-line
218
222
  console.error(...params)
219
223
  if (params[params.length - 1]?.verbose) verbose.call(this)
224
+ throw new Error(...params)
220
225
  }
221
226
  }
222
227
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domql/element",
3
- "version": "2.5.173",
3
+ "version": "2.5.175",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "index.js",
@@ -31,7 +31,7 @@
31
31
  "@domql/state": "^2.5.173",
32
32
  "@domql/utils": "^2.5.170"
33
33
  },
34
- "gitHead": "1e24ece1c2ab9e794b662804fcac399699bf99c5",
34
+ "gitHead": "0fa9909c271129751dd19b67e9966068c25486b4",
35
35
  "devDependencies": {
36
36
  "@babel/core": "^7.12.0"
37
37
  }