asdoc/controllers/ASDocController.js (69 lines of code) (raw):
/**
* Generated by Apache Royale Compiler from controllers/ASDocController.as
* controllers.ASDocController
*
* @fileoverview
*
* @suppress {missingRequire|checkTypes|accessControls}
*/
goog.provide('controllers.ASDocController');
/* Royale Dependency List: ASDoc,ASDocMainView,models.ASDocModel,org.apache.royale.core.Application,org.apache.royale.events.DetailEvent,org.apache.royale.events.Event,org.apache.royale.utils.Language*/
goog.require('org.apache.royale.core.IDocument');
/**
* @constructor
* @implements {org.apache.royale.core.IDocument}
* @param {org.apache.royale.core.Application=} app
*/
controllers.ASDocController = function(app) {
app = typeof app !== 'undefined' ? app : null;
if (app) {
app.addEventListener("viewChanged", org.apache.royale.utils.Language.closure(this.controllers_ASDocController_viewChangeHandler, this, 'controllers_ASDocController_viewChangeHandler'));
}
};
/**
* @private
* @type {models.ASDocModel}
*/
controllers.ASDocController.prototype.controllers_ASDocController_model = null;
/**
* @private
* @type {ASDocMainView}
*/
controllers.ASDocController.prototype.controllers_ASDocController_mainView = null;
/**
* @private
* @param {org.apache.royale.events.Event} event
*/
controllers.ASDocController.prototype.controllers_ASDocController_viewChangeHandler = function(event) {
var /** @type {ASDoc} */ app = event.target;
this.controllers_ASDocController_mainView = app.mainView;
this.controllers_ASDocController_mainView.addEventListener("packageChanged", org.apache.royale.utils.Language.closure(this.controllers_ASDocController_packageChangedHandler, this, 'controllers_ASDocController_packageChangedHandler'));
this.controllers_ASDocController_mainView.addEventListener("classChanged", org.apache.royale.utils.Language.closure(this.controllers_ASDocController_classChangedHandler, this, 'controllers_ASDocController_classChangedHandler'));
this.controllers_ASDocController_mainView.addEventListener("addTag", org.apache.royale.utils.Language.closure(this.controllers_ASDocController_addTagHandler, this, 'controllers_ASDocController_addTagHandler'));
this.controllers_ASDocController_mainView.addEventListener("removeTag", org.apache.royale.utils.Language.closure(this.controllers_ASDocController_removeTagHandler, this, 'controllers_ASDocController_removeTagHandler'));
this.controllers_ASDocController_model = app.model;
};
/**
* @private
* @param {org.apache.royale.events.DetailEvent} event
*/
controllers.ASDocController.prototype.controllers_ASDocController_addTagHandler = function(event) {
var /** @type {Array} */ tags = this.controllers_ASDocController_model.filterTags;
if (!tags) {
tags = [];
}
tags.push({"name":event.detail});
this.controllers_ASDocController_model.filterTags = tags;
};
/**
* @private
* @param {org.apache.royale.events.DetailEvent} event
*/
controllers.ASDocController.prototype.controllers_ASDocController_removeTagHandler = function(event) {
var /** @type {Array} */ tags = this.controllers_ASDocController_model.filterTags;
var /** @type {number} */ n = (tags.length) >> 0;
for (var /** @type {number} */ i = 0; i < n; i++) {
if (tags[i]["name"] == event.detail) {
tags.splice(i, 1);
break;
}
}
if (tags.length == 0)
this.controllers_ASDocController_model.filterTags = null;
else
this.controllers_ASDocController_model.filterTags = tags;
};
/**
* @private
* @param {org.apache.royale.events.Event} event
*/
controllers.ASDocController.prototype.controllers_ASDocController_packageChangedHandler = function(event) {
var /** @type {string} */ sym = this.controllers_ASDocController_mainView.currentPackage;
this.controllers_ASDocController_model.currentPackage = sym;
if (this.controllers_ASDocController_mainView.currentState == "packageDetail") {
this.controllers_ASDocController_model.currentClass = null;
}
};
/**
* @private
* @param {org.apache.royale.events.Event} event
*/
controllers.ASDocController.prototype.controllers_ASDocController_classChangedHandler = function(event) {
var /** @type {string} */ sym = this.controllers_ASDocController_mainView.currentClass;
this.controllers_ASDocController_model.currentClass = sym;
};
/**
* @param {Object} document
* @param {string=} id
*/
controllers.ASDocController.prototype.setDocument = function(document, id) {
id = typeof id !== 'undefined' ? id : null;
var /** @type {org.apache.royale.core.Application} */ app = document;
app.addEventListener("viewChanged", org.apache.royale.utils.Language.closure(this.controllers_ASDocController_viewChangeHandler, this, 'controllers_ASDocController_viewChangeHandler'));
};
/**
* Metadata
*
* @type {Object.<string, Array.<Object>>}
*/
controllers.ASDocController.prototype.ROYALE_CLASS_INFO = { names: [{ name: 'ASDocController', qName: 'controllers.ASDocController', kind: 'class' }], interfaces: [org.apache.royale.core.IDocument] };
/**
* Reflection
*
* @return {Object.<string, Function>}
*/
controllers.ASDocController.prototype.ROYALE_REFLECTION_INFO = function () {
return {
methods: function () {
return {
'ASDocController': { type: '', declaredBy: 'controllers.ASDocController', parameters: function () { return [ 'org.apache.royale.core.Application', true ]; }},
'setDocument': { type: 'void', declaredBy: 'controllers.ASDocController', parameters: function () { return [ 'Object', false ,'String', true ]; }}
};
}
};
};
/**
* @const
* @type {number}
*/
controllers.ASDocController.prototype.ROYALE_COMPILE_FLAGS = 9;