📄 ssfx.core.debug.js
字号:
_onIFrameLoad: function ScriptFX_HistoryManager$_onIFrameLoad() {
var entryName = this._iframe.contentWindow.location.search;
if ((entryName.length) && (entryName.charAt(0) === '?')) {
entryName = entryName.substr(1);
}
this._setCurrentEntry(entryName);
if (this._ignoreIFrame) {
this._ignoreIFrame = false;
return;
}
this._onNavigated(entryName);
},
_onNavigated: function ScriptFX_HistoryManager$_onNavigated(entryName) {
if (this.__navigated) {
this.__navigated.invoke(this, new ScriptFX.HistoryEventArgs(entryName));
}
},
_setCurrentEntry: function ScriptFX_HistoryManager$_setCurrentEntry(entryName) {
this._currentEntry = entryName;
window.location.hash = entryName;
}
}
////////////////////////////////////////////////////////////////////////////////
// ScriptFX.HistoryEventArgs
ScriptFX.HistoryEventArgs = function ScriptFX_HistoryEventArgs(entryName) {
ScriptFX.HistoryEventArgs.constructBase(this);
this._entryName$1 = entryName;
}
ScriptFX.HistoryEventArgs.prototype = {
_entryName$1: null,
get_entryName: function ScriptFX_HistoryEventArgs$get_entryName() {
return this._entryName$1;
}
}
////////////////////////////////////////////////////////////////////////////////
// ScriptFX.HostInfo
ScriptFX.HostInfo = function ScriptFX_HostInfo() {
var userAgent = window.navigator.userAgent.toLowerCase();
var version = null;
var index;
if ((index = userAgent.indexOf('opera')) >= 0) {
this._name = ScriptFX.HostName.opera;
version = userAgent.substr(index + 6);
}
else if ((index = userAgent.indexOf('msie')) >= 0) {
this._name = ScriptFX.HostName.IE;
version = userAgent.substr(index + 5);
}
else if ((index = userAgent.indexOf('safari')) >= 0) {
this._name = ScriptFX.HostName.safari;
version = userAgent.substr(index + 7);
}
else if ((index = userAgent.indexOf('firefox')) >= 0) {
this._name = ScriptFX.HostName.mozilla;
version = userAgent.substr(index + 8);
}
else if (userAgent.indexOf('gecko') >= 0) {
this._name = ScriptFX.HostName.mozilla;
version = window.navigator.appVersion;
}
if (version) {
this._version = parseFloat(version);
this._majorVersion = parseInt(this._version);
if ((index = version.indexOf('.')) >= 0) {
this._minorVersion = parseInt(version.substr(index + 1));
}
}
}
ScriptFX.HostInfo.prototype = {
_name: 0,
_version: 0,
_majorVersion: 0,
_minorVersion: 0,
get_majorVersion: function ScriptFX_HostInfo$get_majorVersion() {
return this._majorVersion;
},
get_minorVersion: function ScriptFX_HostInfo$get_minorVersion() {
return this._minorVersion;
},
get_name: function ScriptFX_HostInfo$get_name() {
return this._name;
},
get_version: function ScriptFX_HostInfo$get_version() {
return this._version;
}
}
////////////////////////////////////////////////////////////////////////////////
// ScriptFX.EventList
ScriptFX.EventList = function ScriptFX_EventList() {
}
ScriptFX.EventList.prototype = {
_events: null,
addHandler: function ScriptFX_EventList$addHandler(key, handler) {
Debug.assert(!String.isNullOrEmpty(key));
Debug.assert(handler);
if (!this._events) {
this._events = {};
}
this._events[key] = Delegate.combine(this._events[key], handler);
},
getHandler: function ScriptFX_EventList$getHandler(key) {
Debug.assert(!String.isNullOrEmpty(key));
if (this._events) {
return this._events[key];
}
return null;
},
removeHandler: function ScriptFX_EventList$removeHandler(key, handler) {
Debug.assert(!String.isNullOrEmpty(key));
Debug.assert(handler);
if (this._events) {
var sourceHandler = this._events[key];
if (sourceHandler) {
var newHandler = Delegate.remove(sourceHandler, handler);
this._events[key] = newHandler;
return (newHandler);
}
}
return false;
}
}
////////////////////////////////////////////////////////////////////////////////
// ScriptFX.JSON
ScriptFX.JSON = function ScriptFX_JSON() {
}
ScriptFX.JSON.deserialize = function ScriptFX_JSON$deserialize(s) {
if (String.isNullOrEmpty(s)) {
return null;
}
if (!ScriptFX.JSON._dateRegex) {
ScriptFX.JSON._dateRegex = new RegExp('(\'|\")\\\\@(-?[0-9]+)@(\'|\")', 'gm');
}
s = s.replace(ScriptFX.JSON._dateRegex, 'new Date($2)');
return eval('(' + s + ')');
}
ScriptFX.JSON.serialize = function ScriptFX_JSON$serialize(o) {
if (isNullOrUndefined(o)) {
return String.Empty;
}
var sb = new StringBuilder();
ScriptFX.JSON._serializeCore(sb, o);
return sb.toString();
}
ScriptFX.JSON._serializeCore = function ScriptFX_JSON$_serializeCore(sb, o) {
if (isNullOrUndefined(o)) {
sb.append('null');
return;
}
var scriptType = typeof(o);
switch (scriptType) {
case 'boolean':
sb.append(o.toString());
return;
case 'number':
sb.append((isFinite(o)) ? o.toString() : 'null');
return;
case 'string':
sb.append((o).quote());
return;
case 'object':
if (Array.isInstance(o)) {
sb.append('[');
var a = o;
var length = a.length;
var first = true;
for (var i = 0; i < length; i++) {
if (first) {
first = false;
}
else {
sb.append(',');
}
ScriptFX.JSON._serializeCore(sb, a[i]);
}
sb.append(']');
}
else if (Date.isInstance(o)) {
var d = o;
var utcValue = Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds());
sb.append('\"\\@');
sb.append(utcValue.toString());
sb.append('@\"');
}
else if (RegExp.isInstance(o)) {
sb.append(o.toString());
}
else {
sb.append('{');
var first = true;
var $dict1 = o;
for (var $key2 in $dict1) {
var entry = { key: $key2, value: $dict1[$key2] };
if ((entry.key).startsWith('$')) {
continue;
}
if (first) {
first = false;
}
else {
sb.append(',');
}
sb.append(entry.key);
sb.append(':');
ScriptFX.JSON._serializeCore(sb, entry.value);
}
sb.append('}');
}
return;
default:
Debug.fail(scriptType + ' is not supported for JSON serialization.');
sb.append('null');
return;
}
}
////////////////////////////////////////////////////////////////////////////////
// ScriptFX.PropertyChangedEventArgs
ScriptFX.PropertyChangedEventArgs = function ScriptFX_PropertyChangedEventArgs(propertyName) {
ScriptFX.PropertyChangedEventArgs.constructBase(this);
this._propertyName$1 = propertyName;
}
ScriptFX.PropertyChangedEventArgs.prototype = {
_propertyName$1: null,
get_propertyName: function ScriptFX_PropertyChangedEventArgs$get_propertyName() {
return this._propertyName$1;
}
}
////////////////////////////////////////////////////////////////////////////////
// ScriptFX.ObservableCollection
ScriptFX.ObservableCollection = function ScriptFX_ObservableCollection(owner, disposableItems) {
this._owner = owner;
this._items = [];
this._disposableItems = disposableItems;
}
ScriptFX.ObservableCollection.prototype = {
_owner: null,
_items: null,
_disposableItems: false,
_handler: null,
add_collectionChanged: function ScriptFX_ObservableCollection$add_collectionChanged(value) {
this._handler = Delegate.combine(this._handler, value);
},
remove_collectionChanged: function ScriptFX_ObservableCollection$remove_collectionChanged(value) {
this._handler = Delegate.remove(this._handler, value);
},
add: function ScriptFX_ObservableCollection$add(item) {
(item).setOwner(this._owner);
this._items.add(item);
if (this._handler) {
this._handler.invoke(this, new ScriptFX.CollectionChangedEventArgs(ScriptFX.CollectionChangedAction.add, item));
}
},
clear: function ScriptFX_ObservableCollection$clear() {
if (this._items.length) {
var $enum1 = this._items.getEnumerator();
while ($enum1.moveNext()) {
var item = $enum1.get_current();
item.setOwner(null);
}
this._items.clear();
if (this._handler) {
this._handler.invoke(this, new ScriptFX.CollectionChangedEventArgs(ScriptFX.CollectionChangedAction.reset, null));
}
}
},
contains: function ScriptFX_ObservableCollection$contains(item) {
return this._items.contains(item);
},
dispose: function ScriptFX_ObservableCollection$dispose() {
if (this._disposableItems) {
var $enum1 = this._items.getEnumerator();
while ($enum1.moveNext()) {
var item = $enum1.get_current();
item.dispose();
}
}
this._items = null;
this._owner = null;
this._handler = null;
},
getEnumerator: function ScriptFX_ObservableCollection$getEnumerator() {
return this._items.getEnumerator();
},
getItem: function ScriptFX_ObservableCollection$getItem(index) {
return this._items[index];
},
getItems: function ScriptFX_ObservableCollection$getItems() {
return this._items;
},
getLength: function ScriptFX_ObservableCollection$getLength() {
return this._items.length;
},
remove: function ScriptFX_ObservableCollection$remove(item) {
if (this._items.contains(item)) {
(item).setOwner(null);
this._items.remove(item);
if (this._handler) {
this._handler.invoke(this, new ScriptFX.CollectionChangedEventArgs(ScriptFX.CollectionChangedAction.remove, item));
}
}
}
}
Type.createNamespace('ScriptFX.Net');
////////////////////////////////////////////////////////////////////////////////
// ScriptFX.Net.HTTPStatusCode
ScriptFX.Net.HTTPStatusCode = function() { };
ScriptFX.Net.HTTPStatusCode.prototype = {
canContinue: 100,
switchingProtocols: 101,
OK: 200,
created: 201,
partialContent: 206,
accepted: 202,
nonAuthoritativeInformation: 203,
noContent: 204,
resetContent: 205,
ambiguous: 300,
moved: 301,
redirect: 302,
redirectMethod: 303,
notModified: 304,
useProxy: 305,
temporaryRedirect: 307,
badRequest: 400,
methodNotAllowed: 400,
unauthorized: 401,
paymentRequired: 402,
forbidden: 403,
notFound: 404,
notAcceptable: 406,
proxyAuthenticationRequired: 407,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -