123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- "use strict";
- // Make this available to both AMD and CJS environments
- define(function (require, exports, module) {
- /**
- * Implementation of the default data provider. A provider is state less
- * object responsible for transformation data (usually a state) to
- * a structure that can be directly consumed by the tree-view component.
- */
- let ObjectProvider = {
- getChildren: function (object) {
- let children = [];
- if (object instanceof ObjectProperty) {
- object = object.value;
- }
- if (!object) {
- return [];
- }
- if (typeof (object) == "string") {
- return [];
- }
- for (let prop in object) {
- try {
- children.push(new ObjectProperty(prop, object[prop]));
- } catch (e) {
- console.error(e);
- }
- }
- return children;
- },
- hasChildren: function (object) {
- if (object instanceof ObjectProperty) {
- object = object.value;
- }
- if (!object) {
- return false;
- }
- if (typeof object == "string") {
- return false;
- }
- if (typeof object !== "object") {
- return false;
- }
- return Object.keys(object).length > 0;
- },
- getLabel: function (object) {
- return (object instanceof ObjectProperty) ?
- object.name : null;
- },
- getValue: function (object) {
- return (object instanceof ObjectProperty) ?
- object.value : null;
- },
- getKey: function (object) {
- return (object instanceof ObjectProperty) ?
- object.name : null;
- },
- getType: function (object) {
- return (object instanceof ObjectProperty) ?
- typeof object.value : typeof object;
- }
- };
- function ObjectProperty(name, value) {
- this.name = name;
- this.value = value;
- }
- // Exports from this module
- exports.ObjectProperty = ObjectProperty;
- exports.ObjectProvider = ObjectProvider;
- });
|