Skip to content

Commit

Permalink
Merge pull request #350 from canjs/deprecate-dom/data/core
Browse files Browse the repository at this point in the history
Deprecate dom/data/core in favor of can-dom-data-state
  • Loading branch information
imaustink committed Sep 28, 2017
2 parents 43eec95 + 01fd613 commit d184050
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 109 deletions.
77 changes: 0 additions & 77 deletions dom/data/core.js

This file was deleted.

28 changes: 14 additions & 14 deletions dom/data/data-test.js
@@ -1,7 +1,7 @@
'use strict';

var domData = require("./data");
var domDataCore = require("./core");
var domDataState = require("can-dom-data-state");
var diff = require("../../js/diff-object/diff-object");
var getDocument = require('can-globals/document/document');
var mutate = require("../mutate/mutate");
Expand All @@ -14,18 +14,18 @@ unit.module('can-util/dom/data');
unit.test('domData should be cleaned up if element is removed from DOM', function (assert) {
var done = assert.async();
var fixture = document.getElementById('qunit-fixture');
var origDataKeys = Object.keys(domDataCore._data);
var origDataKeys = Object.keys(domDataState._data);

var div = document.createElement('div');
mutate.appendChild.call(fixture, div);
domData.set.call(div, "div-data", { abc: "def" });
var newDataKeys = Object.keys(domDataCore._data);
var newDataKeys = Object.keys(domDataState._data);
assert.ok(diff(origDataKeys, newDataKeys).length > 0, "items added to domData._data for div");

mutate.removeChild.call(fixture, div);

var checkRemoved = function() {
if (diff(Object.keys(domDataCore._data), origDataKeys).length === 0) {
if (diff(Object.keys(domDataState._data), origDataKeys).length === 0) {
assert.ok(true, "domData._data returned to initial state");
done();
}
Expand All @@ -40,25 +40,25 @@ unit.test('domData should be cleaned up if element is removed from DOM', functio
unit.test('domData should be cleaned up if multiple elements are removed from DOM', function (assert) {
var done = assert.async();
var fixture = document.getElementById('qunit-fixture');
var origDataKeys = Object.keys(domDataCore._data);
var origDataKeys = Object.keys(domDataState._data);

var div = document.createElement('div');
mutate.appendChild.call(fixture, div);
domData.set.call(div, "div-data", { abc: "def" });
var newDataKeys = Object.keys(domDataCore._data);
var newDataKeys = Object.keys(domDataState._data);
assert.ok(diff(origDataKeys, newDataKeys).length > 0, "items added to domData._data for div");

var p = document.createElement('p');
mutate.appendChild.call(fixture, p);
domData.set.call(p, "p-data", { ghi: "jkl" });
newDataKeys = Object.keys(domDataCore._data);
newDataKeys = Object.keys(domDataState._data);
assert.ok(diff(origDataKeys, newDataKeys).length > 1, "items added to domData._data for p");

mutate.removeChild.call(fixture, div);
mutate.removeChild.call(fixture, p);

var checkRemoved = function() {
if (diff(Object.keys(domDataCore._data), origDataKeys).length === 0) {
if (diff(Object.keys(domDataState._data), origDataKeys).length === 0) {
assert.ok(true, "domData._data returned to initial state");
done();
}
Expand All @@ -73,19 +73,19 @@ unit.test('domData should be cleaned up if multiple elements are removed from DO
unit.test('domData should be cleaned up if element is removed from DOM after calling setData for two different keys', function (assert) {
var fixture = document.getElementById('qunit-fixture');
var done = assert.async();
var origDataKeys = Object.keys(domDataCore._data);
var origDataKeys = Object.keys(domDataState._data);

var div = document.createElement('div');
mutate.appendChild.call(fixture, div);
domData.set.call(div, "div-data", { abc: "def" });
domData.set.call(div, "div-other-data", { ghi: "jkl" });
var newDataKeys = Object.keys(domDataCore._data);
var newDataKeys = Object.keys(domDataState._data);
assert.ok(diff(origDataKeys, newDataKeys).length > 0, "items added to domData._data for div");

mutate.removeChild.call(fixture, div);

var checkRemoved = function() {
if (diff(Object.keys(domDataCore._data), origDataKeys).length === 0) {
if (diff(Object.keys(domDataState._data), origDataKeys).length === 0) {
assert.ok(true, "domData._data returned to initial state");
done();
}
Expand All @@ -100,19 +100,19 @@ unit.test('domData should be cleaned up if element is removed from DOM after cal
unit.test('domData should be cleaned up if element is removed from DOM after calling setData twice for the same key', function (assert) {
var fixture = document.getElementById('qunit-fixture');
var done = assert.async();
var origDataKeys = Object.keys(domDataCore._data);
var origDataKeys = Object.keys(domDataState._data);

var div = document.createElement('div');
mutate.appendChild.call(fixture, div);
domData.set.call(div, "div-data", { abc: "def" });
domData.set.call(div, "div-data", { ghi: "jkl" });
var newDataKeys = Object.keys(domDataCore._data);
var newDataKeys = Object.keys(domDataState._data);
assert.ok(diff(origDataKeys, newDataKeys).length > 0, "items added to domData._data for div");

mutate.removeChild.call(fixture, div);

var checkRemoved = function() {
if (diff(Object.keys(domDataCore._data), origDataKeys).length === 0) {
if (diff(Object.keys(domDataState._data), origDataKeys).length === 0) {
assert.ok(true, "domData._data returned to initial state");
done();
}
Expand Down
16 changes: 8 additions & 8 deletions dom/data/data.js
@@ -1,10 +1,10 @@
'use strict';

var domDataCore = require("./core");
var domDataState = require("can-dom-data-state");
var mutationDocument = require("../mutation-observer/document/document");

var deleteNode = function() {
return domDataCore.delete.call(this);
return domDataState.delete.call(this);
};

// count of distinct elements that have domData set
Expand Down Expand Up @@ -38,7 +38,7 @@ module.exports = {
*
* Return the previously set unique identifier for the dom node.
*/
getCid: domDataCore.getCid,
getCid: domDataState.getCid,
/**
* @function can-util/dom/data/data.cid domData.cid
* @signature `domData.cid.call(el)`
Expand All @@ -53,14 +53,14 @@ module.exports = {
* using the [can-util/dom/data/data.expando expando] property. Return the
* unique cid whether or not it is newly set
*/
cid: domDataCore.cid,
cid: domDataState.cid,
/**
* @property can-util/dom/data/data.expando domData.expando
* @type {String}
*
* The key in which elements' cids are stored
*/
expando: domDataCore.expando,
expando: domDataState.expando,
/**
* @function can-util/dom/data/data.clean domData.clean
* @param {String} prop the property to remove from the element's data
Expand All @@ -74,7 +74,7 @@ module.exports = {
* domData.clean.call(el, "metadata");
* ```
*/
clean: domDataCore.clean,
clean: domDataState.clean,
/**
* @function can-util/dom/data/data.get domData.get
* @signature `domData.get.call(el, key)`
Expand All @@ -89,7 +89,7 @@ module.exports = {
*
* @param {String} key A string used as a unique key for storing data associated with this DOM Node.
*/
get: domDataCore.get,
get: domDataState.get,
/**
* @function can-util/dom/data/data.set domData.set
* @signature `domData.set.call(el, name, value)`
Expand All @@ -114,7 +114,7 @@ module.exports = {
mutationDocument.onAfterRemovedNodes(cleanupDomData);
}
// increment elementSetCount if set returns true
elementSetCount += domDataCore.set.call(this, name, value) ? 1 : 0;
elementSetCount += domDataState.set.call(this, name, value) ? 1 : 0;
},
/**
* @function can-util/dom/data/data.delete domData.delete
Expand Down
16 changes: 8 additions & 8 deletions dom/mutation-observer/document/document.js
@@ -1,7 +1,7 @@
'use strict';

var getDocument = require('can-globals/document/document');
var domDataCore = require("../../data/core");
var domDataState = require("can-dom-data-state");
var getMutationObserver = require("can-globals/mutation-observer/mutation-observer");
var each = require("../../../js/each/each");
var CIDStore = require("../../../js/cid-set/cid-set");
Expand Down Expand Up @@ -34,7 +34,7 @@ var mutationObserverDocument = {
var MO = getMutationObserver();
if (MO) {
var documentElement = getDocument().documentElement;
var globalObserverData = domDataCore.get.call(documentElement, "globalObserverData");
var globalObserverData = domDataState.get.call(documentElement, "globalObserverData");
if(!globalObserverData) {
var observer = new MO(function (mutations) {
globalObserverData.handlers.forEach(function(handler){
Expand All @@ -47,22 +47,22 @@ var mutationObserverDocument = {
observer: observer,
handlers: []
};
domDataCore.set.call(documentElement, "globalObserverData", globalObserverData);
domDataState.set.call(documentElement, "globalObserverData", globalObserverData);
}
globalObserverData.handlers.push(handler);
}
},
remove: function(handler){
var documentElement = getDocument().documentElement;
var globalObserverData = domDataCore.get.call(documentElement, "globalObserverData");
var globalObserverData = domDataState.get.call(documentElement, "globalObserverData");
if(globalObserverData) {
var index = globalObserverData.handlers.indexOf(handler);
if(index >= 0) {
globalObserverData.handlers.splice(index, 1);
}
if(globalObserverData.handlers.length === 0 ){
globalObserverData.observer.disconnect();
domDataCore.clean.call(documentElement, "globalObserverData");
domDataState.clean.call(documentElement, "globalObserverData");
}
}
}
Expand All @@ -73,7 +73,7 @@ var makeMutationMethods = function(name) {

var getMutationData = function() {
var documentElement = getDocument().documentElement;
var mutationData = domDataCore.get.call(documentElement, mutationName + "MutationData");
var mutationData = domDataState.get.call(documentElement, mutationName + "MutationData");

if(!mutationData) {
mutationData = {
Expand All @@ -83,7 +83,7 @@ var makeMutationMethods = function(name) {
hander: null
};
if (getMutationObserver()) {
domDataCore.set.call(documentElement, mutationName + "MutationData", mutationData);
domDataState.set.call(documentElement, mutationName + "MutationData", mutationData);
}
}
return mutationData;
Expand Down Expand Up @@ -120,7 +120,7 @@ var makeMutationMethods = function(name) {
var mutationData = getMutationData();
if( mutationData.handlers.length === 0 && mutationData.afterHandlers.length === 0 ) {
this.remove(mutationData.handler);
domDataCore.clean.call(documentElement, mutationName + "MutationData");
domDataState.clean.call(documentElement, mutationName + "MutationData");
}
};

Expand Down
4 changes: 2 additions & 2 deletions js/cid/get-cid.js
@@ -1,11 +1,11 @@
'use strict';

var CID = require("can-cid");
var domDataCore = require("../../dom/data/core");
var domDataState = require("can-dom-data-state");

module.exports = function(obj){
if(typeof obj.nodeType === "number") {
return domDataCore.cid.call(obj);
return domDataState.cid.call(obj);
} else {
var type = typeof obj;
var isObject = type !== null && (type === "object" || type === "function");
Expand Down
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -58,6 +58,7 @@
"can-assign": "^1.0.0",
"can-cid": "^1.0.0",
"can-deparam": "^1.0.0",
"can-dom-data-state": "^0.1.0",
"can-event-dom-enter": "^1.0.0",
"can-event-dom-radiochange": "^1.0.0",
"can-globals": "^0.1.0",
Expand Down

0 comments on commit d184050

Please sign in to comment.