configbuilder.js 757 B

1234567891011121314151617181920212223242526272829303132
  1. var EditorConfigBuilder = function (defaultConfigObject /* optional */) {
  2. this.config = defaultConfigObject || {};
  3. };
  4. EditorConfigBuilder.prototype.set = function (path, value) {
  5. var splitedPath = path.split(".");
  6. var lastKey = splitedPath[splitedPath.length - 1];
  7. var curObj = this.config;
  8. for (var i = 0; i < splitedPath.length - 1; i++) {
  9. var key = splitedPath[i];
  10. if (!curObj[key]) {
  11. curObj[key] = {};
  12. }
  13. curObj = curObj[key];
  14. }
  15. if ($tx.isPrimitiveType(value)) {
  16. curObj[lastKey] = value;
  17. } else {
  18. if (!curObj[lastKey]) {
  19. curObj[lastKey] = {};
  20. }
  21. $tx.deepcopy(curObj[lastKey], value);
  22. }
  23. };
  24. EditorConfigBuilder.prototype.getConfig = function () {
  25. return this.config;
  26. };
  27. _WIN.EditorConfigBuilder = EditorConfigBuilder;