@cocreate/utils 1.7.6 → 1.8.0

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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [1.8.0](https://github.com/CoCreate-app/CoCreate-utils/compare/v1.7.6...v1.8.0) (2022-07-01)
2
+
3
+
4
+ ### Features
5
+
6
+ * queryDocumentSelectorAll - ability to query iframes and parent of iframes ([90bd26b](https://github.com/CoCreate-app/CoCreate-utils/commit/90bd26b139a6a5413ac67a92504cf533f10e0838))
7
+
1
8
  ## [1.7.6](https://github.com/CoCreate-app/CoCreate-utils/compare/v1.7.5...v1.7.6) (2022-06-27)
2
9
 
3
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocreate/utils",
3
- "version": "1.7.6",
3
+ "version": "1.8.0",
4
4
  "description": "A simple utils component in vanilla javascript. Easily configured using HTML5 attributes and/or JavaScript API.",
5
5
  "keywords": [
6
6
  "utils",
package/src/index.js CHANGED
@@ -120,29 +120,7 @@ export function domParser(str) {
120
120
  }
121
121
  }
122
122
 
123
- export function getFrameSelector(selector) {
124
- let selectorArray = [];
125
- if (selector) {
126
- let selectors = [selector];
127
- if(selector.indexOf(',') !== -1){
128
- selectors = selector.split(',');
129
- }
130
- for (let selector of selectors){
131
- let els;
132
- if(selector.indexOf(';') !== -1) {
133
- let [documentSelector, targetSelector] = selector.split(';');
134
- let frame = document.querySelector(documentSelector);
135
- if (frame)
136
- selectorArray.push({Document: frame.contentDocument, selector: targetSelector});
137
- }
138
- else
139
- selectorArray.push({Document: document, selector: selector});
140
- }
141
- return selectorArray;
142
- }
143
- }
144
-
145
- export function queryFrameSelectorAll(selector) {
123
+ export function queryDocumentSelectorAll(selector) {
146
124
  let elements = [];
147
125
 
148
126
  if (selector) {
@@ -153,16 +131,22 @@ export function queryFrameSelectorAll(selector) {
153
131
  for (let selector of selectors){
154
132
  let els;
155
133
  if(selector.indexOf(';') !== -1) {
134
+ let targetDocument;
156
135
  let [documentSelector, targetSelector] = selector.split(';');
157
- let frame = document.querySelector(documentSelector);
158
- if (frame) {
159
- let targetDocument = frame.contentDocument;
160
- if (targetSelector)
161
- els = targetDocument.querySelectorAll(targetSelector);
162
- else
163
- if (targetDocument.clickedElement)
164
- els = [targetDocument.clickedElement];
165
- }
136
+ if (['parent', 'parentDocument'].includes(documentSelector))
137
+ targetDocument = window.parent.document;
138
+ else {
139
+ let frame = document.querySelector(documentSelector);
140
+ if (frame)
141
+ targetDocument = frame.contentDocument;
142
+ }
143
+ if (targetDocument){
144
+ if (targetSelector)
145
+ els = targetDocument.querySelectorAll(targetSelector);
146
+ else
147
+ if (targetDocument.clickedElement)
148
+ els = [targetDocument.clickedElement];
149
+ }
166
150
  }
167
151
  else
168
152
  els = document.querySelectorAll(selector);
@@ -202,5 +186,6 @@ export default {
202
186
  parseTextToHtml,
203
187
  cssPath,
204
188
  domParser,
189
+ queryDocumentSelectorAll,
205
190
  queryFrameSelectorAll
206
191
  };
package/src/index.old.js CHANGED
@@ -371,7 +371,62 @@ async function complexSelector(comSelector, callback) {
371
371
  return true;
372
372
  }
373
373
 
374
-
374
+ export function getFrameSelector(selector) {
375
+ let selectorArray = [];
376
+ if (selector) {
377
+ let selectors = [selector];
378
+ if(selector.indexOf(',') !== -1){
379
+ selectors = selector.split(',');
380
+ }
381
+ for (let selector of selectors){
382
+ let els;
383
+ if(selector.indexOf(';') !== -1) {
384
+ let [documentSelector, targetSelector] = selector.split(';');
385
+ let frame = document.querySelector(documentSelector);
386
+ if (frame)
387
+ selectorArray.push({Document: frame.contentDocument, selector: targetSelector});
388
+ }
389
+ else
390
+ selectorArray.push({Document: document, selector: selector});
391
+ }
392
+ return selectorArray;
393
+ }
394
+ }
395
+ export function queryFrameSelectorAll(selector) {
396
+ let elements = [];
397
+
398
+ if (selector) {
399
+ let selectors = [selector];
400
+ if(selector.indexOf(',') !== -1){
401
+ selectors = selector.split(',');
402
+ }
403
+ for (let selector of selectors){
404
+ let els;
405
+ if(selector.indexOf(';') !== -1) {
406
+ let [documentSelector, targetSelector] = selector.split(';');
407
+ let frame = document.querySelector(documentSelector);
408
+ if (frame) {
409
+ let targetDocument = frame.contentDocument;
410
+ if (targetSelector)
411
+ els = targetDocument.querySelectorAll(targetSelector);
412
+ else
413
+ if (targetDocument.clickedElement)
414
+ els = [targetDocument.clickedElement];
415
+ }
416
+ }
417
+ else
418
+ els = document.querySelectorAll(selector);
419
+ if (els){
420
+ els = Array.prototype.slice.call(els);
421
+ elements = elements.concat(els);
422
+ }
423
+ }
424
+ return elements;
425
+ }
426
+ }
427
+
428
+
429
+
375
430
  export default {
376
431
  getElementPath,
377
432
  isValidSelector,