{"code":"import { DisplayWidget } from \"./displaywidget\";\r\nvar SensorGraph = /** @class */ (function () {\r\n    function SensorGraph(data) {\r\n        if (data === void 0) { data = {}; }\r\n        this.id = data.id;\r\n        this.name = data.name;\r\n        this.slug = data.slug;\r\n        this.org = data.org;\r\n        this.projectTemplate = data.project_template;\r\n        this.variableTemplates = data.variable_templates;\r\n        this.uiExtra = data.ui_extra;\r\n        this.version = data.version;\r\n        this.majorVersion = data.major_version;\r\n        this.minorVersion = data.minor_version;\r\n        this.patchVersion = data.patch_version;\r\n        this.createdOn = data.created_on;\r\n        this.rawData = data;\r\n        this.displayWidgetTemplates = [];\r\n        if (!this.uiExtra) {\r\n            this.uiExtra = {\r\n                mobile: {\r\n                    controller: 'defaultCtrl',\r\n                    directory: null,\r\n                    settingsController: 'defaultSettingsCtrl',\r\n                    settingsTemplate: 'default-settings',\r\n                    template: 'default',\r\n                    settings: {\r\n                        template: \"device-settings\",\r\n                        controller: \"DeviceSettingsCtrl\"\r\n                    },\r\n                    ioInfo: null\r\n                },\r\n            };\r\n        }\r\n        if (\"display_widget_templates\" in data) {\r\n            var that_1 = this;\r\n            data[\"display_widget_templates\"].forEach(function (d) {\r\n                var widget = new DisplayWidget(d);\r\n                that_1.displayWidgetTemplates.push(widget);\r\n            });\r\n        }\r\n    }\r\n    SensorGraph.prototype.getVersion = function () {\r\n        return 'v' + [this.majorVersion, this.minorVersion, this.patchVersion].join('.');\r\n    };\r\n    SensorGraph.prototype.getUiExtra = function (type) {\r\n        if (this.uiExtra && this.uiExtra[type]) {\r\n            return this.uiExtra[type];\r\n        }\r\n        return null;\r\n    };\r\n    SensorGraph.prototype.getIoInfo = function (type) {\r\n        if (this.getUiExtra(type)) {\r\n            var uiExtra = this.getUiExtra(type);\r\n            if (uiExtra.ioInfo && uiExtra.ioInfo.order && uiExtra.ioInfo.map) {\r\n                return uiExtra.ioInfo;\r\n            }\r\n        }\r\n        return null;\r\n    };\r\n    // Mobile method\r\n    SensorGraph.prototype.getStreamLids = function () {\r\n        var ioInfo = this.getIoInfo('mobile');\r\n        if (ioInfo == null) {\r\n            return [];\r\n        }\r\n        var streams = [];\r\n        for (var lid in ioInfo.map) {\r\n            streams.push(lid);\r\n            if (ioInfo.map[lid].derived) {\r\n                var derivedStreams = ioInfo.map[lid].derived;\r\n                for (var derivedType in derivedStreams) {\r\n                    if (derivedStreams[derivedType].lid) {\r\n                        streams.push(derivedStreams[derivedType].lid);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        return streams;\r\n    };\r\n    // Mobile method\r\n    SensorGraph.prototype.getIoInfoParameter = function (lid, name) {\r\n        var ioInfo = this.getIoInfo('mobile');\r\n        // 1. Check if there is an ioInfo.map and if so, if there is\r\n        //    data for the given LID\r\n        if (ioInfo) {\r\n            if (ioInfo.map[lid][name]) {\r\n                return ioInfo.map[lid][name];\r\n            }\r\n        }\r\n        else {\r\n            // 2. Look for a global value for that parameter name\r\n            var uiExtra = this.getUiExtra('mobile');\r\n            if (uiExtra[name]) {\r\n                return uiExtra[name];\r\n            }\r\n        }\r\n        return '';\r\n    };\r\n    SensorGraph.prototype.getSettingsController = function (lid) {\r\n        var controller = this.getIoInfoParameter(lid, 'settingsController');\r\n        if (controller !== '') {\r\n            return controller;\r\n        }\r\n        return 'defaultSettingsCtrl';\r\n    };\r\n    SensorGraph.prototype.getSettingsTemplate = function (lid) {\r\n        var template = this.getIoInfoParameter(lid, 'settingsTemplate');\r\n        if (template !== '') {\r\n            return template;\r\n        }\r\n        return 'default-settings';\r\n    };\r\n    SensorGraph.prototype.toJson = function () {\r\n        return this.rawData;\r\n    };\r\n    return SensorGraph;\r\n}());\r\nexport { SensorGraph };\r\n//# sourceMappingURL=sensorgraph.js.map","map":{"version":3,"file":"sensorgraph.js","sourceRoot":"","sources":["../src/models/sensorgraph.ts"],"names":[],"mappings":"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"},"dts":{"name":"/Users/jheadley/Documents/GitHub/ts-iotile-cloud/models/sensorgraph.d.ts","text":"import { DisplayWidget } from \"./displaywidget\";\r\nimport { VariableTemplate } from \"./variable\";\r\nexport interface SensorGraphDictionary {\r\n    [index: string]: SensorGraph;\r\n}\r\nexport declare class SensorGraph {\r\n    [key: string]: any;\r\n    id: number;\r\n    name: string;\r\n    slug: string;\r\n    org: string;\r\n    projectTemplate: any;\r\n    variableTemplates: Array<VariableTemplate>;\r\n    displayWidgetTemplates: Array<DisplayWidget>;\r\n    uiExtra: any;\r\n    version: string;\r\n    majorVersion: number;\r\n    minorVersion: number;\r\n    patchVersion: number;\r\n    createdOn: string;\r\n    rawData: string;\r\n    constructor(data?: any);\r\n    getVersion(): string;\r\n    getUiExtra(type: string): any;\r\n    getIoInfo(type: string): any;\r\n    getStreamLids(): string[];\r\n    private getIoInfoParameter;\r\n    getSettingsController(lid: string): string;\r\n    getSettingsTemplate(lid: string): string;\r\n    toJson(): any;\r\n}\r\n"}}
