"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.View=exports["default"]=exports.Node=exports.ViewNode=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _react=_interopRequireDefault(require("react"));var _tree=require("../helpers/tree");var _Row=_interopRequireDefault(require("../../modules/Row"));var _Col=_interopRequireDefault(require("../../modules/Col"));var _BaseHolder=_interopRequireDefault(require("../../modules/BaseHolder"));var _reactNative=require("react-native");var _jsxFileName="/Users/konstantinosschoinas/Desktop/modular/TrapiLib/lib/systems/ViewSystem.js";function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;});keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i3&&arguments[3]!==undefined?arguments[3]:"default";(0,_classCallCheck2["default"])(this,ViewNode);_this=(0,_possibleConstructorReturn2["default"])(this,(0,_getPrototypeOf2["default"])(ViewNode).call(this,id));_this.value=value;_this.namespace=namespace;_this.props=props||{};return _this;}return ViewNode;}(_tree.TreeNode);exports.ViewNode=ViewNode;var Node=function(_TreeNode2){(0,_inherits2["default"])(Node,_TreeNode2);function Node(id,props,content){var _this2;(0,_classCallCheck2["default"])(this,Node);_this2=(0,_possibleConstructorReturn2["default"])(this,(0,_getPrototypeOf2["default"])(Node).call(this,id));_this2.ctor=_BaseHolder["default"];_this2.props=props||{};if(content){_this2.content=content;}return _this2;}return Node;}(_tree.TreeNode);exports.Node=Node;var ViewSystem=function(){function ViewSystem(MS,ES){(0,_classCallCheck2["default"])(this,ViewSystem);this.views={};this.ModuleSystem=MS;this.EventSystem=ES;}(0,_createClass2["default"])(ViewSystem,[{key:"getNode",value:function getNode(ViewId,NodeId){return this.views[ViewId].getNode(NodeId);}},{key:"getView",value:function getView(name){return this.views[name];}},{key:"addView",value:function addView(name,view){this.views[name]=view;return view;}},{key:"removeView",value:function removeView(name){var view=this.views[name];delete this.views[name];return view;}},{key:"render",value:function render(name){return this.views[name].render(this.ModuleSystem,this.EventSystem);}},{key:"export",value:function _export(){var views={};for(var i in this.views){views[i]=this.views[i]["export"]();}return{views:views};}},{key:"import",value:function _import(data){var views=data.views;for(var i in views){this.views[i]=new View()["import"](views[i]);}return this;}},{key:"ray",value:function ray(viewId,x,y,id){var tree=this.views[viewId].ViewTree;}}]);return ViewSystem;}();exports["default"]=ViewSystem;var View=function(){function View(){(0,_classCallCheck2["default"])(this,View);this.ViewTree=new _tree.Tree();var rootNode=new Node(Math.random(),{stretchContainer:true,selected:true});this.addViewNode(rootNode);this.defaultContainer=rootNode;}(0,_createClass2["default"])(View,[{key:"getDefaultContainer",value:function getDefaultContainer(){return this.defaultContainer;}},{key:"getRoot",value:function getRoot(){return this.ViewTree.root;}},{key:"getNode",value:function getNode(id){return this.ViewTree.getNode(id);}},{key:"has",value:function has(node){if((0,_typeof2["default"])(node)!=="object")return this.getNode(node);return this.getNode(node.id);}},{key:"render",value:function render(MS,ES){var node=this.ViewTree.root;return _react["default"].createElement(Renderer,{ModuleSystem:MS,EventSystem:ES,node:node,tree:this.ViewTree,__source:{fileName:_jsxFileName,lineNumber:115}});}},{key:"addViewNode",value:function addViewNode(node){var parentNode=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;this.ViewTree.insert(node,parentNode);return this;}},{key:"setContent",value:function setContent(content,container){container.content=content;return this;}},{key:"getParent",value:function getParent(node){return this.getNode(this.ViewTree.getParent(node));}},{key:"getRows",value:function getRows(column){log("Deprecated for now");return true;if(!column.isCol){throw new Error("You must pass a ColNode to this function");}return this.getChildren(column);}},{key:"setRows",value:function setRows(column){var rows=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;log("Deprecated for now");return true;if(!column.isCol)throw new Error("You must pass a ColNode to this function");if(rows<1)throw new Error("Only positive rows");var colChildren=this.getChildren(column);if(colChildren.length>rows){for(var i=rows;i1&&arguments[1]!==undefined?arguments[1]:1;log("Deprecated for now");return true;if(!row.isRow)throw new Error("You must pass a RowNode to this function");if(columns<1)throw new Error("Only positive cols");var rowChildren=this.getChildren(row);if(rowChildren.length>columns){for(var i=columns;i