Subversion Repository Public Repository

Nextrek

1
{"uid":"B54FB0D1K9DC1A4671S9BE6E84D78A18EAD1","isLoaded":true,"lastModificationTime":0,"items":{"name":"Component_LayoutBehavior","type":"game_script","order":3,"content":"# ===================================================================\n#\n#   Script: Component_LayoutBehavior\n#\n#   $$COPYRIGHT$$\n#\n# ===================================================================\nclass Component_LayoutBehavior extends gs.Component_Visual\n    ###*\n    * The base class of all layout-components. A layout-component is used\n    * to layout assigned sub-objects in a specific way depending on the layout-type.\n    * For example: A grid-layout layouts its sub-objects like a grid using rows\n    * and columns. The game object needs a container-component.<br><br>\n    *\n    * A layout can also be configured as scrollable. In that case, layout's content\n    * can be larger than the layout-bounds and is automatically clipped. The content\n    * can be scrolled using mouse-wheel or touch-gesture.\n    *\n    * @module gs\n    * @class Component_LayoutBehavior\n    * @extends gs.Component\n    * @memberof gs\n    * @constructor\n    ###\n    constructor: ->\n        ###*\n        * Content size of the layout.\n        * @property contentSize\n        * @type gs.Size\n        * @readOnly\n        ###\n        @contentSize = width: 0, height: 0\n\n    ###*\n    * Disposes the layout and all its sub-objects.\n    *\n    * @method dispose\n    ###  \n    # FIXME: Is that still necessary? If the parent game object is disposed\n    # all sub-objects are disposed as well.\n    dispose: ->\n        for control in @object.controls\n            control?.dispose()\n    \n    ###*\n    * Initializes the layout.\n    *\n    * @method setup\n    ### \n    setup: ->\n     \n    ###*\n    * Sizes the layout to fit its content.\n    *\n    * @method sizeToFit\n    * @abstract\n    ### \n    sizeToFit: ->\n        \n    ###*\n    * Sort-Function to sort sub-objects by order-index.\n    *\n    * @method sort_\n    * @protected\n    * @param {gs.Object_Base} a Object A\n    * @param {gs.Object_Base} b Object B\n    ###    \n    sort_: (a, b) ->\n        if a.order > b.order\n          return -1\n        else if a.order < b.order\n          return 1\n        else\n          return 0\n    \n    ###*\n    * Updates a specified control.\n    *\n    * @method updateControl\n    * @protected\n    * @param {gs.Object_Base} control The control to update\n    ### \n    updateControl: (control) ->\n        @object.rIndex = Math.max(@object.rIndex, control.rIndex)\n        \n        if control.updateBehavior == ui.UpdateBehavior.CONTINUOUS\n            control.needsUpdate = yes\n            \n        if control.inheritProperties\n            control.ui.enabled = @object.ui.enabled\n            control.opacity = @object.opacity\n            control.zoom = @object.zoom\n            control.color = @object.color\n            control.tone = @object.tone\n            control.angle = @object.angle\n            control.anchor.x = @object.anchor.x\n            control.anchor.y = @object.anchor.y\n            \n            \n        if control.needsUpdate\n            control.needsUpdate = no\n            control.update()\n            control.parent = @object\n            \n        \n        if @object.clipRect?\n            control.clipRect = @object.clipRect\n     \n    ###*\n    * Updates the content size of the layout. Only works if scrolling is\n    * enabled.\n    *\n    * @method updateContentSize\n    * @protected\n    ### \n    updateContentSize: ->\n        if @object.scrollable\n            @contentSize.width = 0\n            @contentSize.height = 0\n            for control in @object.controls\n                if control\n                    @contentSize.width += control.margin.left + control.dstRect.width + control.margin.right\n                    @contentSize.height += control.margin.top + control.dstRect.height + control.margin.bottom\n            \n            @object.contentHeight = @contentSize.height\n            @object.contentWidth = @contentSize.width\n        \n    ###*\n    * Updates scrolling.\n    *\n    * @method updateScroll\n    ###\n    updateScroll: ->\n        if @object.scrollable\n            @object.scrollableHeight = Math.max(0, @contentSize.height - @object.dstRect.height)\n            if Input.Mouse.wheel <= -1\n                @object.scrollOffsetY = Math.max(@object.scrollOffsetY - Input.Mouse.wheelSpeed * 0.1, 0)\n               \n            if Input.Mouse.wheel >= 1\n                @object.scrollOffsetY = Math.min(@object.scrollOffsetY - Input.Mouse.wheelSpeed * 0.1, @object.scrollableHeight)\n                \n        \n            @object.scrollOffsetY = Math.max(Math.min(@object.scrollOffsetY, @object.scrollableHeight), 0)\n     \n    ###*\n    * Updates the layout's content.\n    *\n    * @method updateContent\n    ###  \n    updateContent: ->\n        \n    ###*\n    * Updates the layout.\n    *\n    * @method update\n    ###    \n    update: ->\n        super\n        \n        @updateContentSize()\n        @updateScroll()\n        \n        \n        #if @object.needsSort\n        #    @object.subObjects.sort(@sort_)\n        #    @object.needsSort = no\n    \n        \ngs.Component_LayoutBehavior = Component_LayoutBehavior","parentId":"01A95DA3K01E8A4CB4SBE17E790BCE1FC035","folder":false,"compiledContent":"var Component_LayoutBehavior,\n  extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n  hasProp = {}.hasOwnProperty;\n\nComponent_LayoutBehavior = (function(superClass) {\n  extend(Component_LayoutBehavior, superClass);\n\n\n  /**\n  * The base class of all layout-components. A layout-component is used\n  * to layout assigned sub-objects in a specific way depending on the layout-type.\n  * For example: A grid-layout layouts its sub-objects like a grid using rows\n  * and columns. The game object needs a container-component.<br><br>\n  *\n  * A layout can also be configured as scrollable. In that case, layout's content\n  * can be larger than the layout-bounds and is automatically clipped. The content\n  * can be scrolled using mouse-wheel or touch-gesture.\n  *\n  * @module gs\n  * @class Component_LayoutBehavior\n  * @extends gs.Component\n  * @memberof gs\n  * @constructor\n   */\n\n  function Component_LayoutBehavior() {\n\n    /**\n    * Content size of the layout.\n    * @property contentSize\n    * @type gs.Size\n    * @readOnly\n     */\n    this.contentSize = {\n      width: 0,\n      height: 0\n    };\n  }\n\n\n  /**\n  * Disposes the layout and all its sub-objects.\n  *\n  * @method dispose\n   */\n\n  Component_LayoutBehavior.prototype.dispose = function() {\n    var control, i, len, ref, results;\n    ref = this.object.controls;\n    results = [];\n    for (i = 0, len = ref.length; i < len; i++) {\n      control = ref[i];\n      results.push(control != null ? control.dispose() : void 0);\n    }\n    return results;\n  };\n\n\n  /**\n  * Initializes the layout.\n  *\n  * @method setup\n   */\n\n  Component_LayoutBehavior.prototype.setup = function() {};\n\n\n  /**\n  * Sizes the layout to fit its content.\n  *\n  * @method sizeToFit\n  * @abstract\n   */\n\n  Component_LayoutBehavior.prototype.sizeToFit = function() {};\n\n\n  /**\n  * Sort-Function to sort sub-objects by order-index.\n  *\n  * @method sort_\n  * @protected\n  * @param {gs.Object_Base} a Object A\n  * @param {gs.Object_Base} b Object B\n   */\n\n  Component_LayoutBehavior.prototype.sort_ = function(a, b) {\n    if (a.order > b.order) {\n      return -1;\n    } else if (a.order < b.order) {\n      return 1;\n    } else {\n      return 0;\n    }\n  };\n\n\n  /**\n  * Updates a specified control.\n  *\n  * @method updateControl\n  * @protected\n  * @param {gs.Object_Base} control The control to update\n   */\n\n  Component_LayoutBehavior.prototype.updateControl = function(control) {\n    this.object.rIndex = Math.max(this.object.rIndex, control.rIndex);\n    if (control.updateBehavior === ui.UpdateBehavior.CONTINUOUS) {\n      control.needsUpdate = true;\n    }\n    if (control.inheritProperties) {\n      control.ui.enabled = this.object.ui.enabled;\n      control.opacity = this.object.opacity;\n      control.zoom = this.object.zoom;\n      control.color = this.object.color;\n      control.tone = this.object.tone;\n      control.angle = this.object.angle;\n      control.anchor.x = this.object.anchor.x;\n      control.anchor.y = this.object.anchor.y;\n    }\n    if (control.needsUpdate) {\n      control.needsUpdate = false;\n      control.update();\n      control.parent = this.object;\n    }\n    if (this.object.clipRect != null) {\n      return control.clipRect = this.object.clipRect;\n    }\n  };\n\n\n  /**\n  * Updates the content size of the layout. Only works if scrolling is\n  * enabled.\n  *\n  * @method updateContentSize\n  * @protected\n   */\n\n  Component_LayoutBehavior.prototype.updateContentSize = function() {\n    var control, i, len, ref;\n    if (this.object.scrollable) {\n      this.contentSize.width = 0;\n      this.contentSize.height = 0;\n      ref = this.object.controls;\n      for (i = 0, len = ref.length; i < len; i++) {\n        control = ref[i];\n        if (control) {\n          this.contentSize.width += control.margin.left + control.dstRect.width + control.margin.right;\n          this.contentSize.height += control.margin.top + control.dstRect.height + control.margin.bottom;\n        }\n      }\n      this.object.contentHeight = this.contentSize.height;\n      return this.object.contentWidth = this.contentSize.width;\n    }\n  };\n\n\n  /**\n  * Updates scrolling.\n  *\n  * @method updateScroll\n   */\n\n  Component_LayoutBehavior.prototype.updateScroll = function() {\n    if (this.object.scrollable) {\n      this.object.scrollableHeight = Math.max(0, this.contentSize.height - this.object.dstRect.height);\n      if (Input.Mouse.wheel <= -1) {\n        this.object.scrollOffsetY = Math.max(this.object.scrollOffsetY - Input.Mouse.wheelSpeed * 0.1, 0);\n      }\n      if (Input.Mouse.wheel >= 1) {\n        this.object.scrollOffsetY = Math.min(this.object.scrollOffsetY - Input.Mouse.wheelSpeed * 0.1, this.object.scrollableHeight);\n      }\n      return this.object.scrollOffsetY = Math.max(Math.min(this.object.scrollOffsetY, this.object.scrollableHeight), 0);\n    }\n  };\n\n\n  /**\n  * Updates the layout's content.\n  *\n  * @method updateContent\n   */\n\n  Component_LayoutBehavior.prototype.updateContent = function() {};\n\n\n  /**\n  * Updates the layout.\n  *\n  * @method update\n   */\n\n  Component_LayoutBehavior.prototype.update = function() {\n    Component_LayoutBehavior.__super__.update.apply(this, arguments);\n    this.updateContentSize();\n    return this.updateScroll();\n  };\n\n  return Component_LayoutBehavior;\n\n})(gs.Component_Visual);\n\ngs.Component_LayoutBehavior = Component_LayoutBehavior;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsd0JBQUE7RUFBQTs7O0FBQU07Ozs7QUFDRjs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQmEsa0NBQUE7O0FBQ1Q7Ozs7OztJQU1BLElBQUMsQ0FBQSxXQUFELEdBQWU7TUFBQSxLQUFBLEVBQU8sQ0FBUDtNQUFVLE1BQUEsRUFBUSxDQUFsQjs7RUFQTjs7O0FBU2I7Ozs7OztxQ0FPQSxPQUFBLEdBQVMsU0FBQTtBQUNMLFFBQUE7QUFBQTtBQUFBO1NBQUEscUNBQUE7O3FDQUNJLE9BQU8sQ0FBRSxPQUFULENBQUE7QUFESjs7RUFESzs7O0FBSVQ7Ozs7OztxQ0FLQSxLQUFBLEdBQU8sU0FBQSxHQUFBOzs7QUFFUDs7Ozs7OztxQ0FNQSxTQUFBLEdBQVcsU0FBQSxHQUFBOzs7QUFFWDs7Ozs7Ozs7O3FDQVFBLEtBQUEsR0FBTyxTQUFDLENBQUQsRUFBSSxDQUFKO0lBQ0gsSUFBRyxDQUFDLENBQUMsS0FBRixHQUFVLENBQUMsQ0FBQyxLQUFmO0FBQ0UsYUFBTyxDQUFDLEVBRFY7S0FBQSxNQUVLLElBQUcsQ0FBQyxDQUFDLEtBQUYsR0FBVSxDQUFDLENBQUMsS0FBZjtBQUNILGFBQU8sRUFESjtLQUFBLE1BQUE7QUFHSCxhQUFPLEVBSEo7O0VBSEY7OztBQVFQOzs7Ozs7OztxQ0FPQSxhQUFBLEdBQWUsU0FBQyxPQUFEO0lBQ1gsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLEdBQWlCLElBQUksQ0FBQyxHQUFMLENBQVMsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFqQixFQUF5QixPQUFPLENBQUMsTUFBakM7SUFFakIsSUFBRyxPQUFPLENBQUMsY0FBUixLQUEwQixFQUFFLENBQUMsY0FBYyxDQUFDLFVBQS9DO01BQ0ksT0FBTyxDQUFDLFdBQVIsR0FBc0IsS0FEMUI7O0lBR0EsSUFBRyxPQUFPLENBQUMsaUJBQVg7TUFDSSxPQUFPLENBQUMsRUFBRSxDQUFD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LENBQUEsTUFBTSxDQUFDLGFBQVIsR0FBd0IsSUFBSSxDQUFDLEdBQUwsQ0FBUyxJQUFJLENBQUMsR0FBTCxDQUFTLElBQUMsQ0FBQSxNQUFNLENBQUMsYUFBakIsRUFBZ0MsSUFBQyxDQUFBLE1BQU0sQ0FBQyxnQkFBeEMsQ0FBVCxFQUFvRSxDQUFwRSxFQVQ1Qjs7RUFEVTs7O0FBWWQ7Ozs7OztxQ0FLQSxhQUFBLEdBQWUsU0FBQSxHQUFBOzs7QUFFZjs7Ozs7O3FDQUtBLE1BQUEsR0FBUSxTQUFBO0lBQ0osc0RBQUEsU0FBQTtJQUVBLElBQUMsQ0FBQSxpQkFBRCxDQUFBO1dBQ0EsSUFBQyxDQUFBLFlBQUQsQ0FBQTtFQUpJOzs7O0dBckoyQixFQUFFLENBQUM7O0FBaUsxQyxFQUFFLENBQUMsd0JBQUgsR0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiNcbiMgICBTY3JpcHQ6IENvbXBvbmVudF9MYXlvdXRCZWhhdmlvclxuI1xuIyAgICQkQ09QWVJJR0hUJCRcbiNcbiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuY2xhc3MgQ29tcG9uZW50X0xheW91dEJlaGF2aW9yIGV4dGVuZHMgZ3MuQ29tcG9uZW50X1Zpc3VhbFxuICAgICMjIypcbiAgICAqIFRoZSBiYXNlIGNsYXNzIG9mIGFsbCBsYXlvdXQtY29tcG9uZW50cy4gQSBsYXlvdXQtY29tcG9uZW50IGlzIHVzZWRcbiAgICAqIHRvIGxheW91dCBhc3NpZ25lZCBzdWItb2JqZWN0cyBpbiBhIHNwZWNpZmljIHdheSBkZXBlbmRpbmcgb24gdGhlIGxheW91dC10eXBlLlxuICAgICogRm9yIGV4YW1wbGU6IEEgZ3JpZC1sYXlvdXQgbGF5b3V0cyBpdHMgc3ViLW9iamVjdHMgbGlrZSBhIGdyaWQgdXNpbmcgcm93c1xuICAgICogYW5kIGNvbHVtbnMuIFRoZSBnYW1lIG9iamVjdCBuZWVkcyBhIGNvbnRhaW5lci1jb21wb25lbnQuPGJyPjxicj5cbiAgICAqXG4gICAgKiBBIGxheW91dCBjYW4gYWxzbyBiZSBjb25maWd1cmVkIGFzIHNjcm9sbGFibGUuIEluIHRoYXQgY2FzZSwgbGF5b3V0J3MgY29udGVudFxuICAgICogY2FuIGJlIGxhcmdlciB0aGFuIHRoZSBsYXlvdXQtYm91bmRzIGFuZCBpcyBhdXRvbWF0aWNhbGx5IGNsaXBwZWQuIFRoZSBjb250ZW50XG4gICAgKiBjYW4gYmUgc2Nyb2xsZWQgdXNpbmcgbW91c2Utd2hlZWwgb3IgdG91Y2gtZ2VzdHVyZS5cbiAgICAqXG4gICAgKiBAbW9kdWxlIGdzXG4gICAgKiBAY2xhc3MgQ29tcG9uZW50X0xheW91dEJlaGF2aW9yXG4gICAgKiBAZXh0ZW5kcyBncy5Db21wb25lbnRcbiAgICAqIEBtZW1iZXJvZiBnc1xuICAgICogQGNvbnN0cnVjdG9yXG4gICAgIyMjXG4gICAgY29uc3RydWN0b3I6IC0+XG4gICAgICAgICMjIypcbiAgICAgICAgKiBDb250ZW50IHNpemUgb2YgdGhlIGxheW91dC5cbiAgICAgICAgKiBAcHJvcGVydHkgY29udGVudFNpemVcbiAgICAgICAgKiBAdHlwZSBncy5TaXplXG4gICAgICAgICogQHJlYWRPbmx5XG4gICAgICAgICMjI1xuICAgICAgICBAY29udGVudFNpemUgPSB3aWR0aDogMCwgaGVpZ2h0OiAwXG5cbiAgICAjIyMqXG4gICAgKiBEaXNwb3NlcyB0aGUgbGF5b3V0IGFuZCBhbGwgaXRzIHN1Yi1vYmplY3RzLlxuICAgICpcbiAgICAqIEBtZXRob2QgZGlzcG9zZVxuICAgICMjIyAgXG4gICAgIyBGSVhNRTogSXMgdGhhdCBzdGlsbCBuZWNlc3Nhcnk/IElmIHRoZSBwYXJlbnQgZ2FtZSBvYmplY3QgaXMgZGlzcG9zZWRcbiAgICAjIGFsbCBzdWItb2JqZWN0cyBhcmUgZGlzcG9zZWQgYXMgd2VsbC5cbiAgICBkaXNwb3NlOiAtPlxuICAgICAgICBmb3IgY29udHJvbCBpbiBAb2JqZWN0LmNvbnRyb2xzXG4gICAgICAgICAgICBjb250cm9sPy5kaXNwb3NlKClcbiAgICBcbiAgICAjIyMqXG4gICAgKiBJbml0aWFsaXplcyB0aGUgbGF5b3V0LlxuICAgICpcbiAgICAqIEBtZXRob2Qgc2V0dXBcbiAgICAjIyMgXG4gICAgc2V0dXA6IC0+XG4gICAgIFxuICAgICMjIypcbiAgICAqIFNpemVzIHRoZSBsYXlvdXQgdG8gZml0IGl0cyBjb250ZW50LlxuICAgICpcbiAgICAqIEBtZXRob2Qgc2l6ZVRvRml0XG4gICAgKiBAYWJzdHJhY3RcbiAgICAjIyMgXG4gICAgc2l6ZVRvRml0OiAtPlxuICAgICAgICBcbiAgICAjIyMqXG4gICAgKiBTb3J0LUZ1bmN0aW9uIHRvIHNvcnQgc3ViLW9iamVjdHMgYnkgb3JkZXItaW5kZXguXG4gICAgKlxuICAgICogQG1ldGhvZCBzb3J0X1xuICAgICogQHByb3RlY3RlZFxuICAgICogQHBhcmFtIHtncy5PYmplY3RfQmFzZX0gYSBPYmplY3QgQVxuICAgICogQHBhcmFtIHtncy5PYmplY3RfQmFzZX0gYiBPYmplY3QgQlxuICAgICMjIyAgICBcbiAgICBzb3J0XzogKGEsIGIpIC0+XG4gICAgICAgIGlmIGEub3JkZXIgPiBiLm9yZGVyXG4gICAgICAgICAgcmV0dXJuIC0xXG4gICAgICAgIGVsc2UgaWYgYS5vcmRlciA8IGIub3JkZXJcbiAgICAgICAgICByZXR1cm4gMVxuICAgICAgICBlbHNlXG4gICAgICAgICAgcmV0dXJuIDBcbiAgICBcbiAgICAjIyMqXG4gICAgKiBVcGRhdGVzIGEgc3BlY2lmaWVkIGNvbnRyb2wuXG4gICAgKlxuICAgICogQG1ldGhvZCB1cGRhdGVDb250cm9sXG4gICAgKiBAcHJvdGVjdGVkXG4gICAgKiBAcGFyYW0ge2dzLk9iamVjdF9CYXNlfSBjb250cm9sIFRoZSBjb250cm9sIHRvIHVwZGF0ZVxuICAgICMjIyBcbiAgICB1cGRhdGVDb250cm9sOiAoY29udHJvbCkgLT5cbiAgICAgICAgQG9iamVjdC5ySW5kZXggPSBNYXRoLm1heChAb2JqZWN0LnJJbmRleCwgY29udHJvbC5ySW5kZXgpXG4gICAgICAgIFxuICAgICAgICBpZiBjb250cm9sLnVwZGF0ZUJlaGF2aW9yID09IHVpLlVwZGF0ZUJlaGF2aW9yLkNPTlRJTlVPVVNcbiAgICAgICAgICAgIGNvbnRyb2wubmVlZHNVcGRhdGUgPSB5ZXNcbiAgICAgICAgICAgIFxuICAgICAgICBpZiBjb250cm9sLmluaGVyaXRQcm9wZXJ0aWVzXG4gICAgICAgICAgICBjb250cm9sLnVpLmVuYWJsZWQgPSBAb2JqZWN0LnVpLmVuYWJsZWRcbiAgICAgICAgICAgIGNvbnRyb2wub3BhY2l0eSA9IEBvYmplY3Qub3BhY2l0eVxuICAgICAgICAgICAgY29udHJvbC56b29tID0gQG9iamVjdC56b29tXG4gICAgICAgICAgICBjb250cm9sLmNvbG9yID0gQG9iamVjdC5jb2xvclxuICAgICAgICAgICAgY29udHJvbC50b25lID0gQG9iamVjdC50b25lXG4gICAgICAgICAgICBjb250cm9sLmFuZ2xlID0gQG9iamVjdC5hbmdsZVxuICAgICAgICAgICAgY29udHJvbC5hbmNob3IueCA9IEBvYmplY3QuYW5jaG9yLnhcbiAgICAgICAgICAgIGNvbnRyb2wuYW5jaG9yLnkgPSBAb2JqZWN0LmFuY2hvci55XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICBpZiBjb250cm9sLm5lZWRzVXBkYXRlXG4gICAgICAgICAgICBjb250cm9sLm5lZWRzVXBkYXRlID0gbm9cbiAgICAgICAgICAgIGNvbnRyb2wudXBkYXRlKClcbiAgICAgICAgICAgIGNvbnRyb2wucGFyZW50ID0gQG9iamVjdFxuICAgICAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBpZiBAb2JqZWN0LmNsaXBSZWN0P1xuICAgICAgICAgICAgY29udHJvbC5jbGlwUmVjdCA9IEBvYmplY3QuY2xpcFJlY3RcbiAgICAgXG4gICAgIyMjKlxuICAgICogVXBkYXRlcyB0aGUgY29udGVudCBzaXplIG9mIHRoZSBsYXlvdXQuIE9ubHkgd29ya3MgaWYgc2Nyb2xsaW5nIGlzXG4gICAgKiBlbmFibGVkLlxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlQ29udGVudFNpemVcbiAgICAqIEBwcm90ZWN0ZWRcbiAgICAjIyMgXG4gICAgdXBkYXRlQ29udGVudFNpemU6IC0+XG4gICAgICAgIGlmIEBvYmplY3Quc2Nyb2xsYWJsZVxuICAgICAgICAgICAgQGNvbnRlbnRTaXplLndpZHRoID0gMFxuICAgICAgICAgICAgQGNvbnRlbnRTaXplLmhlaWdodCA9IDBcbiAgICAgICAgICAgIGZvciBjb250cm9sIGluIEBvYmplY3QuY29udHJvbHNcbiAgICAgICAgICAgICAgICBpZiBjb250cm9sXG4gICAgICAgICAgICAgICAgICAgIEBjb250ZW50U2l6ZS53aWR0aCArPSBjb250cm9sLm1hcmdpbi5sZWZ0ICsgY29udHJvbC5kc3RSZWN0LndpZHRoICsgY29udHJvbC5tYXJnaW4ucmlnaHRcbiAgICAgICAgICAgICAgICAgICAgQGNvbnRlbnRTaXplLmhlaWdodCArPSBjb250cm9sLm1hcmdpbi50b3AgKyBjb250cm9sLmRzdFJlY3QuaGVpZ2h0ICsgY29udHJvbC5tYXJnaW4uYm90dG9tXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBvYmplY3QuY29udGVudEhlaWdodCA9IEBjb250ZW50U2l6ZS5oZWlnaHRcbiAgICAgICAgICAgIEBvYmplY3QuY29udGVudFdpZHRoID0gQGNvbnRlbnRTaXplLndpZHRoXG4gICAgICAgIFxuICAgICMjIypcbiAgICAqIFVwZGF0ZXMgc2Nyb2xsaW5nLlxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlU2Nyb2xsXG4gICAgIyMjXG4gICAgdXBkYXRlU2Nyb2xsOiAtPlxuICAgICAgICBpZiBAb2JqZWN0LnNjcm9sbGFibGVcbiAgICAgICAgICAgIEBvYmplY3Quc2Nyb2xsYWJsZUhlaWdodCA9IE1hdGgubWF4KDAsIEBjb250ZW50U2l6ZS5oZWlnaHQgLSBAb2JqZWN0LmRzdFJlY3QuaGVpZ2h0KVxuICAgICAgICAgICAgaWYgSW5wdXQuTW91c2Uud2hlZWwgPD0gLTFcbiAgICAgICAgICAgICAgICBAb2JqZWN0LnNjcm9sbE9mZnNldFkgPSBNYXRoLm1heChAb2JqZWN0LnNjcm9sbE9mZnNldFkgLSBJbnB1dC5Nb3VzZS53aGVlbFNwZWVkICogMC4xLCAwKVxuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiBJbnB1dC5Nb3VzZS53aGVlbCA+PSAxXG4gICAgICAgICAgICAgICAgQG9iamVjdC5zY3JvbGxPZmZzZXRZID0gTWF0aC5taW4oQG9iamVjdC5zY3JvbGxPZmZzZXRZIC0gSW5wdXQuTW91c2Uud2hlZWxTcGVlZCAqIDAuMSwgQG9iamVjdC5zY3JvbGxhYmxlSGVpZ2h0KVxuICAgICAgICAgICAgICAgIFxuICAgICAgICBcbiAgICAgICAgICAgIEBvYmplY3Quc2Nyb2xsT2Zmc2V0WSA9IE1hdGgubWF4KE1hdGgubWluKEBvYmplY3Quc2Nyb2xsT2Zmc2V0WSwgQG9iamVjdC5zY3JvbGxhYmxlSGVpZ2h0KSwgMClcbiAgICAgXG4gICAgIyMjKlxuICAgICogVXBkYXRlcyB0aGUgbGF5b3V0J3MgY29udGVudC5cbiAgICAqXG4gICAgKiBAbWV0aG9kIHVwZGF0ZUNvbnRlbnRcbiAgICAjIyMgIFxuICAgIHVwZGF0ZUNvbnRlbnQ6IC0+XG4gICAgICAgIFxuICAgICMjIypcbiAgICAqIFVwZGF0ZXMgdGhlIGxheW91dC5cbiAgICAqXG4gICAgKiBAbWV0aG9kIHVwZGF0ZVxuICAgICMjIyAgICBcbiAgICB1cGRhdGU6IC0+XG4gICAgICAgIHN1cGVyXG4gICAgICAgIFxuICAgICAgICBAdXBkYXRlQ29udGVudFNpemUoKVxuICAgICAgICBAdXBkYXRlU2Nyb2xsKClcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICAjaWYgQG9iamVjdC5uZWVkc1NvcnRcbiAgICAgICAgIyAgICBAb2JqZWN0LnN1Yk9iamVjdHMuc29ydChAc29ydF8pXG4gICAgICAgICMgICAgQG9iamVjdC5uZWVkc1NvcnQgPSBub1xuICAgIFxuICAgICAgICBcbmdzLkNvbXBvbmVudF9MYXlvdXRCZWhhdmlvciA9IENvbXBvbmVudF9MYXlvdXRCZWhhdmlvciJdfQ==\n//# sourceURL=Component_LayoutBehavior_46.js"},"summary":["name","type","order"]}

Commits for Nextrek/s2s/data/B54FB0D1K9DC1A4671S9BE6E84D78A18EAD1.json

Diff revisions: vs.
Revision Author Commited Message
1084 MOliva picture MOliva Fri 11 May, 2018 12:41:55 +0000