📄 microsoftajaxtemplates.debug.js
字号:
((change.item === entity) || (this.getIdentity(change.item) === this.getIdentity(entity))))) {
if (!toRemove) {
toRemove = [change];
}
else {
toRemove[toRemove.length] = change;
}
}
}
if (toRemove) {
Sys.Observer.beginUpdate(changes);
for (i = 0, l = toRemove.length; i < l; i++) {
Sys.Observer.remove(changes, toRemove[i]);
}
Sys.Observer.endUpdate(changes);
if (changes.length === 0) {
this._hasChanges = false;
this.raisePropertyChanged("hasChanges");
}
}
}
function Sys$Data$DataContext$_setLinkField(isArray, source, field, target, isRemove) {
if (isArray) {
var value = source[field];
if (value === null || this._getValueType(source, field, value) !== 2) {
if (isRemove) {
return false;
}
source[field] = value = [];
}
else if (!(value instanceof Array)) {
throw Error.invalidOperation(String.format(Sys.UI.TemplatesRes.mustBeArray, field));
}
this._ignoreChange = true;
try {
if (Array.contains(value, target)) {
if (isRemove) {
Sys.Observer.remove(value, target);
return true;
}
else {
return false;
}
}
else {
if (isRemove) {
return false;
}
else {
Sys.Observer.add(value, target);
return true;
}
}
}
finally {
this._ignoreChange = false;
}
}
else {
this._ignoreChange = true;
try {
if (isRemove) {
Sys.Observer.setValue(source, field, null);
}
else {
Sys.Observer.setValue(source, field, target);
}
return true;
}
finally {
this._ignoreChange = false;
}
}
}
function Sys$Data$DataContext$_toggleLink(source, field, target, removing) {
var change, changes = this.get_changes();
for (var i = 0, l = changes.length; i < l; i++) {
change = changes[i];
if ((change.linkSourceField === field) && (change.linkSource === source) &&
((change.linkTarget === target) || (change.action === Sys.Data.ChangeOperationType.update))) {
Sys.Observer.remove(changes, change);
var hadChange = this._hasChanges;
this._hasChanges = !!changes.length;
if (hadChange !== this._hasChanges) {
this.raisePropertyChanged("hasChanges");
}
return change;
}
}
return null;
}
function Sys$Data$DataContext$updated() {
/// <summary locid="M:J#Sys.Data.DataContext.updated" />
if (arguments.length !== 0) throw Error.parameterCount();
if (this._dirty) {
this._dirty = false;
this.raisePropertyChanged("");
}
}
function Sys$Data$DataContext$_capture(data) {
if (data instanceof Array) {
for (var i = 0, l = data.length; i < l; i++) {
this._captureEntity(data[i]);
}
}
else if (data !== null) {
this._captureEntity(data);
}
}
function Sys$Data$DataContext$_captureEntity(item) {
if (this._isCaptureable(item)) {
Sys.Observer.addPropertyChanged(item, this._dataChangedDel);
}
}
function Sys$Data$DataContext$_dataChanged(object, args) {
if (this._ignoreChange) return;
var changelist = this.get_changes();
var identity = this.getIdentity(object);
if (!this._peekChange(this._inserts, object, identity)) {
var alreadyChanged = this._peekChange(this._edits, object, identity);
if (!alreadyChanged) {
Sys.Observer.add(changelist, new Sys.Data.ChangeOperation(Sys.Data.ChangeOperationType.update, object));
this._edits = this._pushChange(this._edits, object, identity);
if (!this._hasChanges) {
this._hasChanges = true;
this.raisePropertyChanged("hasChanges");
}
}
}
}
function Sys$Data$DataContext$_isActive() {
return this.get_isInitialized() && !this.get_isUpdating();
}
function Sys$Data$DataContext$_isCaptureable(item) {
if (item === null) return false;
var type = typeof(item);
return (type === "object" || type === "unknown");
}
function Sys$Data$DataContext$_raiseChanged(name) {
if (this._isActive()) {
this.raisePropertyChanged(name);
return true;
}
else {
this._dirty = true;
return false;
}
}
function Sys$Data$DataContext$_release(data) {
if (data instanceof Array) {
for (var i = 0, l = data.length; i < l; i++) {
this._releaseEntity(data[i]);
}
}
else if (data !== null) {
this._releaseEntity(data);
}
}
function Sys$Data$DataContext$_releaseEntity(item) {
if (this._isCaptureable(item)) {
Sys.Observer.removePropertyChanged(item, this._dataChangedDel);
}
}
function Sys$Data$DataContext$_saveInternal(dc, changes, succeededCallback, failedCallback, context) {
if (!Type._checkDependency("MicrosoftAjaxWebServices.js")) {
throw Error.invalidOperation(Sys.UI.TemplatesRes.requiresWebServices);
}
var parameters = dc.get_saveParameters();
return Sys.Net.WebServiceProxy.invoke(dc.get_serviceUri(),
dc.get_saveOperation() || "",
dc.get_saveHttpVerb() === "GET",
parameters ? dc._combineParameters(parameters, { changeSet: changes }) : { changeSet: changes },
succeededCallback,
failedCallback,
context,
dc.get_saveChangesTimeout() || 0);
}
function Sys$Data$DataContext$_filterLinks(changeSet) {
if (!this._useIdentity) return changeSet;
var i, l = changeSet.length,
newChangeSet = new Array(l);
for (i = 0; i < l; i++) {
var change = changeSet[i], item = change.item, linkSource = change.linkSource, linkTarget = change.linkTarget;
if (item) {
item = this._getEntityOnly(item);
}
if (linkSource) {
linkSource = this._getEntityOnly(linkSource);
}
if (linkTarget) {
linkTarget = this._getEntityOnly(linkTarget);
}
newChangeSet[i] = new Sys.Data.ChangeOperation(change.action, item, linkSource, change.linkSourceField, linkTarget);
}
return newChangeSet;
}
function Sys$Data$DataContext$_getEntityOnly(source) {
var target = {};
this._combine(target, source, null, true);
return target;
}
function Sys$Data$DataContext$getIdentity(entity) {
/// <summary locid="M:J#failed" />
/// <param name="entity" type="Object" mayBeNull="false"></param>
/// <returns mayBeNull="true" type="String"></returns>
var e = Function._validateParams(arguments, [
{name: "entity", type: Object}
]);
if (e) throw e;
if (entity === null) return null;
var getter = this.get_getIdentityMethod();
return getter ? (getter(this, entity) || null) : null;
}
function Sys$Data$DataContext$isDeferredProperty(entity, propertyName) {
/// <summary locid="M:J#failed" />
/// <param name="entity" type="Object"></param>
/// <param name="propertyName" type="String"></param>
/// <returns type="Boolean"></returns>
var e = Function._validateParams(arguments, [
{name: "entity", type: Object},
{name: "propertyName", type: String}
]);
if (e) throw e;
var getter = this.get_isDeferredPropertyMethod();
return getter ? (getter(this, entity, propertyName) || false) : false;
}
function Sys$Data$DataContext$_getValueType(parent, name, object) {
var type = typeof(object);
if (type === "undefined") return 0;
if ((object === null) || (type !== "object")) return 2;
if (this.isDeferredProperty(parent, name)) return 1;
return 2;
}
function Sys$Data$DataContext$_setField(target, name, source, value, mergeOption, isLink) {
var doSet = true, isArray = (target instanceof Array), appendOnly = (mergeOption === Sys.Data.MergeOption.appendOnly);
if (!isArray) {
var targetField = target[name], valueType = this._getValueType(target, name, targetField);
if (appendOnly) {
if (valueType === 2) {
doSet = false;
}
}
else if ((valueType === 2) && value && source && (this._getValueType(source, name, value) === 1)) {
doSet = false;
}
}
if (doSet) {
if (isArray) {
target[name] = value;
}
else {
this._ignoreChange = true;
try {
Sys.Observer.setValue(target, name, value);
}
finally {
this._ignoreChange = false;
}
}
if (isLink && !appendOnly) {
this._removeChanges(target, name);
}
}
return doSet;
}
function Sys$Data$DataContext$_combine(target, source, mergeOption, excludeEntities) {
var removedChanges = false;
for (var name in source) {
var field = source[name], type = typeof(field);
if (type === "function") continue;
if (this._useIdentity && (field instanceof Array)) {
if (!excludeEntities) {
field = this._storeEntities(field, mergeOption);
if (target) {
this._setField(target, name, source, field, mergeOption, true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -