@builttocreate/engine-utils 2.10.1-beta.v593.7 → 2.10.1-beta.v593.9
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/dist/generateReadableId.js +34 -3
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -8,6 +9,7 @@ exports.generateReadableTableColumnId = generateReadableTableColumnId;
|
|
|
8
9
|
exports.getFieldPositionsCount = getFieldPositionsCount;
|
|
9
10
|
exports.getFieldsCount = getFieldsCount;
|
|
10
11
|
exports.getViewsFieldPositionsCount = getViewsFieldPositionsCount;
|
|
12
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
13
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
12
14
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
13
15
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) { n[e] = r[e]; } return n; }
|
|
@@ -118,7 +120,17 @@ function generateReadableId(parts, type) {
|
|
|
118
120
|
// if (pages) count += getFieldPositionsCount(pages, type);
|
|
119
121
|
// if (views && views.length > 1) count += getViewsFieldPositionsCount(views, type);
|
|
120
122
|
|
|
121
|
-
|
|
123
|
+
var readableId = "".concat(type).concat(splitterId).concat(count + 1);
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* If the user drags one text field and renames it to text 2, we need to ensure
|
|
127
|
+
* the newly generatedId is different than text2
|
|
128
|
+
* */
|
|
129
|
+
|
|
130
|
+
fields.forEach(function (field) {
|
|
131
|
+
if (field._id === readableId) readableId = "".concat(type).concat(splitterId).concat(count + 2);
|
|
132
|
+
});
|
|
133
|
+
return readableId;
|
|
122
134
|
}
|
|
123
135
|
;
|
|
124
136
|
|
|
@@ -130,8 +142,11 @@ function generateReadableId(parts, type) {
|
|
|
130
142
|
* @returns {String} - An ID in the format "{tableId}Column{count+1}" (e.g. "table1Column1")
|
|
131
143
|
*/
|
|
132
144
|
function generateReadableTableColumnId(tableId, tableColumns, columnId) {
|
|
145
|
+
//Add logic that ensures that created Id is not a duplicate
|
|
133
146
|
if (!tableId) throw new Error('generateReadableTableColumnId: tableId is required');
|
|
147
|
+
if (!columnId) throw new Error('generateReadableTableColumnId: columnId is required');
|
|
134
148
|
if (!tableColumns || !Array.isArray(tableColumns)) {
|
|
149
|
+
console.warn('generateReadableTableColumnId: tableColumns parameter is missing or not an array');
|
|
135
150
|
return "".concat(tableId, "Column1");
|
|
136
151
|
}
|
|
137
152
|
var counts = {};
|
|
@@ -143,13 +158,29 @@ function generateReadableTableColumnId(tableId, tableColumns, columnId) {
|
|
|
143
158
|
var _iterator = _createForOfIteratorHelper(validColumns),
|
|
144
159
|
_step;
|
|
145
160
|
try {
|
|
146
|
-
|
|
161
|
+
var _loop = function _loop() {
|
|
147
162
|
var col = _step.value;
|
|
148
163
|
var type = (col.type || 'unknown').toLowerCase();
|
|
149
164
|
counts[type] = (counts[type] || 0) + 1;
|
|
165
|
+
var readableId = "".concat(type).concat(counts[type]);
|
|
150
166
|
if (col._id === columnId) {
|
|
151
|
-
|
|
167
|
+
/**
|
|
168
|
+
* If the user drags one text column it would have text1 as the id. If he renames it to text2, we
|
|
169
|
+
* need to esnure the newly generatedId is different than text2
|
|
170
|
+
*/
|
|
171
|
+
tableColumns.forEach(function (column) {
|
|
172
|
+
if (column._id === readableId) {
|
|
173
|
+
readableId = "".concat(type).concat(counts[type] + 2);
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
return {
|
|
177
|
+
v: readableId
|
|
178
|
+
};
|
|
152
179
|
}
|
|
180
|
+
};
|
|
181
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
182
|
+
var _ret = _loop();
|
|
183
|
+
if ((0, _typeof2["default"])(_ret) === "object") return _ret.v;
|
|
153
184
|
}
|
|
154
185
|
} catch (err) {
|
|
155
186
|
_iterator.e(err);
|