提交 2a31304f 编写于 作者: J Johannes Rieken

simplify update-function (maybe get rid of it...) #54938

上级 0ed7b0e7
......@@ -26,7 +26,7 @@ export interface IDecoration {
readonly tooltip: string;
readonly labelClassName: string;
readonly badgeClassName: string;
update(source?: string, data?: IDecorationData): IDecoration;
update(data: IDecorationData): IDecoration;
}
export interface IDecorationsProvider {
......
......@@ -141,25 +141,12 @@ class DecorationStyles {
labelClassName,
badgeClassName,
tooltip,
update: (source, insert) => {
update: (replace) => {
let newData = data.slice();
if (!source) {
// add -> just append
newData.push(insert);
} else {
// remove/replace -> require a walk
for (let i = 0; i < newData.length; i++) {
if (newData[i].source === source) {
if (!insert) {
// remove
newData.splice(i, 1);
i--;
} else {
if (newData[i].source === replace.source) {
// replace
newData[i] = insert;
}
}
newData[i] = replace;
}
}
return this.asDecoration(newData, onlyChildren);
......@@ -434,7 +421,7 @@ export class FileDecorationsService implements IDecorationsService {
// result, maybe overwrite
let result = this._decorationStyles.asDecoration(data, containsChildren);
if (overwrite) {
return result.update(overwrite.source, overwrite);
return result.update(overwrite);
} else {
return result;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册