Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled diff
생성일
7년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
7 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
46 행
복사
8 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
47 행
복사
import { inject as service } from "@ember-decorators/service";
import { inject as service } from "@ember-decorators/service";
import Component from '@ember/component';
import Component from '@ember/component';
import { action, wrapComputed, computed } from "@ember/object";
import { action, wrapComputed, computed } from "@ember/object";
import { isEmpty } from '@ember/utils';
import { isEmpty } from '@ember/utils';
import { task } from 'ember-concurrency';
import { task } from 'ember-concurrency';
import { filterByFilePath } from '../utils';
import { filterByFilePath } from '../utils';
export default class AddonSourceUsagesComponent extends Component {
export default class AddonSourceUsagesComponent extends Component {
복사
복사됨
복사
복사됨
visibleUsageCount = 25;
@tracked
visibleUsageCount = 25;
showUsages = false;
@tracked
showUsages = false;
usages = null;
usages = null;
regex = false;
regex = false;
fileFilter = null;
fileFilter = null;
@service codeSearch;
@service codeSearch;
복사
복사됨
복사
복사됨
@computed(
'visibleUsageCount',
'usages')
@computed(
'usages')
get visibleUsages() {
get visibleUsages() {
return this.usages.slice(0, this.visibleUsageCount);
return this.usages.slice(0, this.visibleUsageCount);
}
}
복사
복사됨
복사
복사됨
@computed(
'visibleUsageCount',
'usages')
@computed(
'usages')
get moreUsages() {
get moreUsages() {
return this.visibleUsageCount < this.usages.length;
return this.visibleUsageCount < this.usages.length;
}
}
@(task(function* () {
@(task(function* () {
let usages = yield this.codeSearch.usages.perform(this.addon.id, this.query, this.regex);
let usages = yield this.codeSearch.usages.perform(this.addon.id, this.query, this.regex);
this.set('usages', filterByFilePath(usages, this.fileFilter));
this.set('usages', filterByFilePath(usages, this.fileFilter));
}).drop())
}).drop())
fetchUsages;
fetchUsages;
@action
@action
toggleUsages() {
toggleUsages() {
복사
복사됨
복사
복사됨
this.
toggleProperty('
showUsages
');
this.
showUsages = !this.
showUsages
;
if (this.showUsages && this.usages === null) {
if (this.showUsages && this.usages === null) {
this.fetchUsages.perform();
this.fetchUsages.perform();
}
}
}
}
@action
@action
viewMore() {
viewMore() {
복사
복사됨
복사
복사됨
let newUsageCount =
this.visibleUsageCount +
25;
this.visibleUsageCount +
=
25;
this.set('visibleUsageCount', newUsageCount);
}
}
}
}
저장된 비교 결과
원본
파일 열기
import { inject as service } from "@ember-decorators/service"; import Component from '@ember/component'; import { action, wrapComputed, computed } from "@ember/object"; import { isEmpty } from '@ember/utils'; import { task } from 'ember-concurrency'; import { filterByFilePath } from '../utils'; export default class AddonSourceUsagesComponent extends Component { visibleUsageCount = 25; showUsages = false; usages = null; regex = false; fileFilter = null; @service codeSearch; @computed('visibleUsageCount', 'usages') get visibleUsages() { return this.usages.slice(0, this.visibleUsageCount); } @computed('visibleUsageCount', 'usages') get moreUsages() { return this.visibleUsageCount < this.usages.length; } @(task(function* () { let usages = yield this.codeSearch.usages.perform(this.addon.id, this.query, this.regex); this.set('usages', filterByFilePath(usages, this.fileFilter)); }).drop()) fetchUsages; @action toggleUsages() { this.toggleProperty('showUsages'); if (this.showUsages && this.usages === null) { this.fetchUsages.perform(); } } @action viewMore() { let newUsageCount = this.visibleUsageCount + 25; this.set('visibleUsageCount', newUsageCount); } }
수정본
파일 열기
import { inject as service } from "@ember-decorators/service"; import Component from '@ember/component'; import { action, wrapComputed, computed } from "@ember/object"; import { isEmpty } from '@ember/utils'; import { task } from 'ember-concurrency'; import { filterByFilePath } from '../utils'; export default class AddonSourceUsagesComponent extends Component { @tracked visibleUsageCount = 25; @tracked showUsages = false; usages = null; regex = false; fileFilter = null; @service codeSearch; @computed('usages') get visibleUsages() { return this.usages.slice(0, this.visibleUsageCount); } @computed('usages') get moreUsages() { return this.visibleUsageCount < this.usages.length; } @(task(function* () { let usages = yield this.codeSearch.usages.perform(this.addon.id, this.query, this.regex); this.set('usages', filterByFilePath(usages, this.fileFilter)); }).drop()) fetchUsages; @action toggleUsages() { this.showUsages = !this.showUsages; if (this.showUsages && this.usages === null) { this.fetchUsages.perform(); } } @action viewMore() { this.visibleUsageCount += 25; } }
비교하기