diff --git a/index.html b/index.html
index 71b4dc63b..95c5d8230 100755
--- a/index.html
+++ b/index.html
@@ -1331,6 +1331,9 @@
editor.on('selector:add', function(model) {
if(model.get('name') == 'row')
console.log('added .row class', model);
+
+ if(model.get('name') == 'cell')
+ console.log('added .cell class', model);
});
editor.render();
diff --git a/src/selector_manager/config/config.js b/src/selector_manager/config/config.js
index 2cdde4478..503c7906e 100644
--- a/src/selector_manager/config/config.js
+++ b/src/selector_manager/config/config.js
@@ -25,12 +25,12 @@ module.exports = {
// // not visible by the user
// propertyMap: {
// '.row, .cell': {
- // private: false,
+ // private: true,
// }
// },
propertyMap: {
'.row, .cell': {
- private: false,
+ private: true,
}
},
diff --git a/src/selector_manager/index.js b/src/selector_manager/index.js
index 58a05add4..29cbf7a45 100644
--- a/src/selector_manager/index.js
+++ b/src/selector_manager/index.js
@@ -98,13 +98,28 @@ module.exports = config => {
config: c,
});
- selectors.on('add', (model) => {
- em.trigger('selector:add', model);
- });
+ selectors.on('add', this.selectorAdded);
return this;
},
+ selectorAdded(model) {
+ const em = c.em;
+ const propertyMap = c.propertyMap;
+ let props = {};
+
+ Object.keys(propertyMap).forEach((selectors) => {
+ selectors.split(',').forEach((selector) => {
+ if (selector.trim() == model.getFullName()) {
+ props = Object.assign(props, propertyMap[selectors]);
+ }
+ });
+ });
+
+ model.set(props);
+ em.trigger('selector:add', model);
+ },
+
/**
* Add a new selector to collection if it's not already exists. Class type is a default one
* @param {String} name Selector name
diff --git a/src/selector_manager/model/Selector.js b/src/selector_manager/model/Selector.js
index c7dd70f90..a83d12a1e 100644
--- a/src/selector_manager/model/Selector.js
+++ b/src/selector_manager/model/Selector.js
@@ -39,4 +39,23 @@ module.exports = Backbone.Model.extend({
return name.replace(/([^a-z0-9\w]+)/gi, '-');
},
+ /**
+ * Get full selector name
+ * @return {string}
+ */
+ getFullName() {
+ let init = '';
+
+ switch (this.get('type')) {
+ case 'class':
+ init = '.';
+ break;
+ case 'id':
+ init = '#';
+ break;
+ }
+
+ return init + this.get('name');
+ }
+
});