remove many things

pull/125/merge
nightwing 2017-03-19 17:55:55 +04:00
rodzic 2770dde453
commit 375decdae3
6 zmienionych plików z 16 dodań i 5871 usunięć

Wyświetl plik

@ -1,10 +1,4 @@
<a:application xmlns:a="http://ajax.org/2005/aml">
<a:appsettings name="ide" debug="false"
disable-space = "true"
allow-select = "false"
allow-blur = "true"
initdelay = "false"/>
<a:vsplitbox id="root" anchors="0 0 0 0">
<a:bar id="barQuestion" height="0" visible="false">
</a:bar>

Wyświetl plik

@ -94,7 +94,6 @@ define(function(require, exports, module) {
if (e.node.tagName == "variable") {
if (!e.node.children) return e.expand();
//<a:insert match="[item[@children='true']]" get="{adbg.loadObject(dbg, %[.])}" />
dbg.getProperties(e.node, function(err, properties) {
if (err) return console.error(err);

Wyświetl plik

@ -54,327 +54,6 @@ apf.aml.setElement("model", apf.model);
apf.__DATABINDING__ = 1 << 1;
/**
* This is a baseclass that adds data binding features to this element.
* Databinding takes care of automatically going from data to representation and establishing a
* permanent link between the two. In this way data that is changed will
* change the representation as well. Furthermore, actions that are executed on
* the representation will change the underlying data.
*
* #### Example
*
* ```xml
* <a:list>
* <a:model>
* <data>
* <item icon="ajax_org.gif">Item 1</item>
* <item icon="ajax_org.gif">Item 2</item>
* </data>
* </a:model>
* <a:bindings>
* <a:icon match="[@icon]" />
* <a:caption match="[text()]" />
* <a:each match="[item]" />
* </a:bindings>
* </a:list>
* ```
*
* @class apf.DataBinding
* @inherits apf.Presentation
* @baseclass
* @author Ruben Daniels (ruben AT ajax DOT org)
* @version %I%, %G%
* @since 0.4
* @default_private
*/
/**
* @event error Fires when a communication error has occured while
* making a request for this element.
* @cancelable Prevents the error from being thrown.
* @bubbles
* @param {Object} e The standard event object. It contains the following properties:
* - error ([[Error]]): the error object that is thrown when the event callback doesn't return false.
* - state ([[Number]]): the state of the call
* - `apf.SUCCESS`: The request was successfull
* - `apf.TIMEOUT`: The request has timed out.
* - `apf.ERROR `: An error has occurred while making the request.
* - `apf.OFFLINE`: The request was made while the application was offline.
* - userdata (`Mixed`): Data that the caller wanted to be available in the callback of the http request.
* - http ([[XMLHttpRequest]]): The object that executed the actual http request.
* - url ([[String]]): The url that was requested.
* - tpModule ([[apf.http]]): The teleport module that is making the request.
* - id ([[Number]]): The ID of the request.
* - message ([[String]]): The error message.
*/
/**
* @event beforeretrieve Fires before a request is made to retrieve data.
* @cancelable Prevents the data from being retrieved.
*/
/**
* @event afterretrieve Fires when the request to retrieve data returns both
* on success and failure.
*/
/**
* @event receive Fires when data is successfully retrieved
* @param {Object} e The standard event object. It contains the following properties:
* - data ([[String]]): the retrieved data
*
*/
apf.DataBinding = function() {
this.$init(true);
this.$loadqueue =
this.$dbTimer = null;
this.$regbase = this.$regbase | apf.__DATABINDING__;
this.$mainBind = "value";
this.$bindings =
this.$cbindings =
this.$attrBindings = false;
//1 = force no bind rule, 2 = force bind rule
this.$attrExcludePropBind = apf.extend({
model: 1,
each: 1
//eachvalue : 1 //disabled because of line 1743 valueRule = in multiselect.js
}, this.$attrExcludePropBind);
// *** Public Methods *** //
/**
* Sets a value of an XMLNode based on an xpath statement executed on the data of this model.
*
* @param {String} xpath The xpath used to select a XMLNode
* @param {String} value The value to set
* @return {XMLNode} The changed XMLNode
*/
this.setQueryValue = function(xpath, value, type) {
var node = apf.createNodeFromXpath(this[type || 'xmlRoot'], xpath);
if (!node)
return null;
apf.setNodeValue(node, value, true);
//apf.xmldb.setTextNode(node, value);
return node;
};
/**
* Queries the bound data for a string value
*
* @param {String} xpath The XPath statement which queries on the data this element is bound on.
* @param {String} type The node that is used as the context node for the query. It can be one of the following possible values:
* - `"selected"`: The selected data anode of this element.
* - `"xmlRoot"`: The root data node that this element is bound on.
* - `"indicator"`: The data node that is highlighted for keyboard navigation.
* @return {String} The value of the selected XML Node
*
*/
this.queryValue = function(xpath, type) {
/* @todo
* lstRev.query('revision/text()', 'selected');
* lstRev.query('revision/text()', 'xmlRoot');
* lstRev.query('revision/text()', 'indicator');
*/
return apf.queryValue(this[type || 'xmlRoot'], xpath);
};
/**
* Queries the bound data for an array of string values
*
* @param {String} xpath The XPath statement which queries on the data this element is bound on.
* @param {String} type The node that is used as the context node for the query. It can be one of the following possible values:
* - `"selected"`: The selected data anode of this element.
* - `"xmlRoot"`: The root data node that this element is bound on.
* - `"indicator"`: The data node that is highlighted for keyboard navigation.
* @return {String} The value of the selected XML Node
*/
this.queryValues = function(xpath, type) {
return apf.queryValues(this[type || 'xmlRoot'], xpath);
};
/**
* Executes an XPath statement on the data of this model
*
* @param {String} xpath The XPath statement which queries on the data this element is bound on.
* @param {String} type The node that is used as the context node for the query. It can be one of the following possible values:
* - `"selected"`: The selected data anode of this element.
* - `"xmlRoot"`: The root data node that this element is bound on.
* - `"indicator"`: The data node that is highlighted for keyboard navigation.
* @return {Mixed} An [[XMLNode]] or [[NodeList]] with the result of the selection
*/
this.queryNode = function(xpath, type) {
var n = this[type || 'xmlRoot'];
return n ? n.selectSingleNode(xpath) : null;
};
/**
* Executes an XPath statement on the data of this model
*
* @param {String} xpath The XPath used to select the XMLNode(s)
* @param {String} type The node that is used as the context node for the query. It can be one of the following possible values:
* - `"selected"`: The selected data anode of this element.
* - `"xmlRoot"`: The root data node that this element is bound on.
* - `"indicator"`: The data node that is highlighted for keyboard navigation.
* @return {Mixed} An [[XMLNode]] or [[NodeList]] with the result of the selection
*/
this.queryNodes = function(xpath, type) {
debugger
var n = this[type || 'xmlRoot'];
return n ? n.selectNodes(xpath) : [];
};
/**
* @attribute {String} model Sets or gets the name of the model to load data from, or a
* datainstruction to load data.
*
* #### Example
*
* ```xml
* <a:model id="mdlExample" src="filesystem.xml" />
* <a:tree
* height = "200"
* width = "250"
* model = "mdlExample">
* <a:each match="[folder|drive]">
* <a:caption match="[@caption]" />
* <a:icon value="Famfolder.gif" />
* </a:each>
* </a:tree>
* ```
*
* #### Example
*
* Here's an example loading from an XML source:
*
* ```xml
* <a:tree
* height = "200"
* width = "250"
* model = "filesystem.xml">
* <a:each match="[folder|drive]">
* <a:caption match="[@caption]" />
* <a:icon value="Famfolder.gif" />
* </a:each>
* </a:tree>
* ```
*
* #### Example
*
* ```xml
* <a:tree
* id = "tree"
* height = "200"
* width = "250"
* model = "filesystem.xml">
* <a:each match="[folder|drive]">
* <a:caption match="[@caption]" />
* <a:icon value="Famfolder.gif" />
* </a:each>
* </a:tree>
* <a:text
* model = "{tree.selected}"
* value = "[@caption]"
* width = "250"
* height = "100" />
* ```
*
* #### Example
*
* This example shows a dropdown from which the user can select a country.
* The list of countries is loaded from a model. Usually this would be loaded
* from a separate url, but for clarity it's inlined. When the user selects
* a country in the dropdown the value of the item is stored in the second
* model (mdlForm) at the position specified by the ref attribute. In this
* case this is the country element.
*
* ```xml
* <a:label>Name</a:label>
* <a:textbox value="[name]" model="mdlForm" />
*
* <a:label>Country</a:label>
* <a:dropdown
* value = "[mdlForm::country]"
* each = "[mdlCountries::country]"
* caption = "[text()]">
* </a:dropdown>
*
* <a:model id="mdlCountries">
* <countries>
* <country value="USA">USA</country>
* <country value="GB">Great Britain</country>
* <country value="NL">The Netherlands</country>
* </countries>
* </a:model>
*
* <a:model id="mdlForm">
* <data>
* <name />
* <country />
* </data>
* </a:model>
* ```
*
* #### Remarks
*
* This attribute is inherited from a parent when not set. You can use this
* to tell sets of elements to use the same model.
*
* ```xml
* <a:bar model="mdlForm">
* <a:label>Name</a:label>
* <a:textbox value="[name]" />
*
* <a:label>Happiness</a:label>
* <a:slider value="[happiness]" min="0" max="10" />
* </a:bar>
*
* <a:model id="mdlForm">
* <data />
* </a:model>
* ```
*
* When no model is specified the default model is chosen. The default
* model is the first model that is found without a name, or if all models
* have a name, the first model found.
*
* @see apf.DataBinding.model
*/
this.$propHandlers["model"] = function(value) {
this.model = value;
};
/**
* @attribute {String} viewport Sets or gets the way this element renders its data.
*
* The possible values include:
* - `"virtual"`: this element only renders data that it needs to display.
* - `"normal`"`: this element renders all data at startup.
* @experimental
*/
this.$propHandlers["viewport"] = function(value) {
debugger
};
};
apf.DataBinding.prototype = new apf[apf.Presentation ? "Presentation" : "AmlElement"]();
apf.config.$inheritProperties["model"] = 1;
apf.config.$inheritProperties["empty-message"] = 1;
apf.config.$inheritProperties["loading-message"] = 1;
apf.config.$inheritProperties["offline-message"] = 1;
apf.config.$inheritProperties["noloading"] = 1;
/**
* The baseclass for all standard data binding rules.
@ -384,21 +63,7 @@ apf.config.$inheritProperties["noloading"] = 1;
* @baseclass
* @inherits apf.DataBinding
*/
apf.StandardBinding = function() {
this.$init(true);
if (apf.Validation)
this.implement(apf.Validation);
if (!this.setQueryValue)
this.implement(apf.DataBinding);
if (!this.defaultValue) //@todo please use this in a sentence
this.defaultValue = "";
};
apf.StandardBinding.prototype = new apf.DataBinding();
apf.StandardBinding = apf.Presentation;
@ -702,7 +367,6 @@ apf.BaseList = function() {
this.$mode = this.multicheck ? 1 : 2;
}
else {
//@todo undo actionRules setting
this.removeEventListener("afterrename", $afterRenameMode);
//@todo unimplement??
this.$mode = 0;

Wyświetl plik

@ -1147,11 +1147,6 @@ apf.item = function(struct, tagName) {
// *** Properties and Attributes *** //
//1 = force no bind rule, 2 = force bind rule
this.$attrExcludePropBind = apf.extend({
"match": 1
}, this.$attrExcludePropBind);
this.$booleanProperties["checked"] = true;
this.$booleanProperties["selected"] = true;

Wyświetl plik

@ -774,11 +774,6 @@ define(function(require, module, exports) {
*/
isFalse: apf.isFalse,
/**
* @ignore
*/
xmldb: apf.xmldb,
/**
* @ignore
*/