미디어위키:Gadget-refToolbarBase.js

MediaWiki

참고: 저장한 후 변경 내용을 보려면 브라우저의 캐시를 무시해야 합니다.Google Chrome, Firefox, Microsoft Edge Safari:를 누르다⇧ Shift 키를 누르고 [Reload]툴바 버튼을 클릭합니다.다른 브라우저에 대한 자세한 내용과 지침은 Wikipedia:캐시를 바이패스합니다.

/* jshint asi: true */ /* 글로벌 mw, $, CiteTB, citeTemplate, citeErrorCheck */  한다면 ( 윈도.Cite TB === 한정되지 않은 ) {   윈도.Cite TB = {     "템플릿" : {}, // 모든 템플릿     "옵션" : {}, // 글로벌옵션     "사용자 옵션" : {}, // 사용자 옵션     "기본 옵션" : {}, // 스크립트 기본값     "오류 검사" : {} // 오류 확인 기능   }; }  한다면 (유형 .사용성 == '실패') {   .사용성 = {};   .사용성.메시지 가져오기 = 기능.(m) { 돌아가다 .메시지.얻다(m); }   .사용성.메시지 추가 = 기능.(메시지) { .메시지.세트(메시지); }; }  // 따옴표 템플릿의 객체 윈도.cite Template = 기능. (템플릿명, 쇼트 폼, 기본 필드, 확장 필드) {   // 속성   이것..템플릿명 = 템플릿명; // 템플릿 이름 - "cite web", "cite book" 등   이것..쇼트 폼 = 쇼트 폼; // 드롭다운 상자에 사용되는 짧은 형식   이것..기본의 = 기본 필드; // 기본 필드 - 작성자, 제목, 게시자...   // 덜 일반적인 - 따옴표, archiveurl - 템플릿이 지원하는 모든 항목에서 기본 항목을 뺀 값이어야 합니다.   이것..추가의 = 확장 필드;    이것..증가 가능 = {};    // 목록에 추가   Cite TB.템플릿[이것..템플릿명] = 이것.;   // 메서드   이것..make Form Inner = 기능.(필드, 인크루) {     변화하다 i=0;     변화하다 trs = [];     변화하다 자동 입력 = []     위해서 (i=0; i< >필드.길이; i++) {       변화하다 필드 = 필드[i];       변화하다 들판 = 라벨 필드 = 필드.들판;       변화하다 광고 = 거짓의;       한다면 (인크루 & & 필드.increment_group) {         들판 = 필드.들판.교체하다('<N>', '1');         라벨 필드 = 필드.들판.교체하다('<N>', '');         한다면 (이것..증가 가능[필드.increment_group] & & !이것..증가 가능[필드.increment_group].세우다) {          // 개체가 생성되었지만 완전히 초기화되지 않았습니다.          이것..증가 가능[필드.increment_group]['필드'].밀다(필드)         } 또 다른 한다면 (!이것..증가 가능[필드.increment_group]) {          // 개체가 아직 생성되지 않았습니다.          이것..증가 가능[필드.increment_group] = {           '필드': [필드],           '밸류':1,           '실패': 거짓의          };         } 또 다른 한다면 (이것..증가 가능[필드.increment_group] & & 이것..증가 가능[필드.increment_group].세우다) {          // 이 함수의 이전 호출에서 완전히 초기화되었으며, 숫자만 재설정됩니다.          이것..증가 가능[필드.increment_group]. = 1         }       } 또 다른 한다면 (필드.increment_group) {        // 새 행 추가        발생하다 = 이것..증가 가능[필드.increment_group].;        들판 = 필드.들판.교체하다('<N>', 발생하다.문자열());        라벨 필드 = 필드.들판.교체하다('<N>', '');       }       한다면 ($.어레이 내(들판, Cite TB.get Option(옵션)('필드 자동 변경')) != -1 ) {          = $('<img/>').특성('src', '//upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Nuvola_apps_date.svg/20px-Nuvola_apps_date.svg.png');         .특성('alt', .사용성.메시지 가져오기('filen-insert-date')).특성('실패', .사용성.메시지 가져오기('filen-insert-date'));         변화하다 광고 = $('<a />').특성('href', '#');         광고.추가하다();         광고.특성(아이디, '일시일시일시+Cite TB.escStr(이것..쇼트 폼)+'-'+들판);         $( 문서 ).( '클릭, '#date-date-'+Cite TB.escStr(이것..쇼트 폼)+'-'+들판, Cite TB.fill Access 날짜 );       }           한다면 (필드.오토필리드) {         변화하다 오토타이프 = 필드.오토필리드;          = $('<img/>').특성('src', '//upload.wikimedia.org/wikipedia/commons/thumb/1/17/System-search.svg/20px-System-search.svg.png');         .특성('alt', .사용성.메시지 가져오기('오토필 알트')).특성('실패', .사용성.메시지 가져오기('오토필 알트'));         변화하다 광고 = $('<a />').특성('href', '#');         광고.추가하다();         광고.특성(아이디, '오토오토'+Cite TB.escStr(이것..쇼트 폼)+'-'+들판+'-'+오토타이프);         자동 입력.밀다('#syslog-auto-'+Cite TB.escStr(이것..쇼트 폼)+'-'+들판+'-'+오토타이프);       }              한다면 (필드.increment_단추) {         변화하다 입력하다 = 필드.increment_group;          = $('<img/>').특성('src', '//upload.wikimedia.org/wikipedia/commons/thumb/b/b9/Nuvola_action_edit_add.svg/20px-Nuvola_action_edit_add.svg.png');         .특성('alt', .사용성.메시지 가져오기('아크롬-알트')).특성('실패', .사용성.메시지 가져오기('아크롬-알트'));         변화하다 광고 = $('<a />').특성('href', '#');         광고.추가하다();         광고.특성(아이디, 'crypto-incr-'+Cite TB.escStr(이것..쇼트 폼)+'-'+입력하다);       }           변화하다 표시 = .사용성.메시지 가져오기('아쉬운-'+라벨 필드+'-라벨');       한다면 (유형 표시 !== '문자열) {        한다면 (필드.라벨.) {         표시 = Cite TB.fixStr(필드.라벨.);        } 또 다른 {         표시 = Cite TB.fixStr(라벨 필드)        }       }       변화하다 툴팁 = 필드.툴팁 ? $('<abbr / >').특성('실패', .사용성.메시지 가져오기(필드.툴팁)).html('<sup>?</sup>') : 거짓의;              변화하다 입력 = '';       한다면 (광고) {         입력 = $('<input tabindex="1" style="width:85%" type="text" />');       } 또 다른 {         입력 = $('<input tabindex="1" style="width:100%" type="text" />');       }       입력.특성(아이디, '아쉬운-'+Cite TB.escStr(이것..쇼트 폼)+'-'+들판);    한다면 (필드.자동 필프로프) {     클래스명 = '아쉬운-'+Cite TB.escStr(이것..쇼트 폼)+'-'+필드.자동 필프로프      한다면 (필드.increment_group) {       입력.클래스 추가('아쉬운-'+Cite TB.escStr(이것..쇼트 폼)+'-incr-'+필드.increment_group);       클래스명+='-'+이것..증가 가능[필드.increment_group]..문자열();      }      입력.클래스 추가(클래스명);    }       변화하다 라벨. = $('<라벨 />');       라벨..특성('용', '아쉬운-'+Cite TB.escStr(이것..쇼트 폼)+'-'+들판).본문(표시);       한다면 (툴팁) {         라벨..추가하다(툴팁);       }       변화하다 스타일. = '텍스트 정렬: 오른쪽, 너비: 20%;';       한다면 (i%2 == 1) {         스타일. += '패딩-왼쪽:1em; ';       } 또 다른 {         변화하다 tr = $('<tr / >');       }       변화하다 td1 = $('<class="class-form-class" />').특성('스타일', 스타일.);       td1.추가하다(라벨.);       tr.추가하다(td1);       변화하다 td2 = $('<blass class="class-form-class" style="width:30%" />');       td2.추가하다(입력);       한다면 (광고) {         td2.추가하다(광고);       }       tr.추가하다(td2);       한다면 (i%2 == 0) {         trs.밀다(tr);       }     }     변화하다 니즈셋업 = 거짓의;     위해서 (g 에서 이것..증가 가능) {      한다면 (!이것..증가 가능[g].세우다) {       니즈셋업 = 진실의;       $( 문서 ).( '클릭, '#syslog-incr-'+Cite TB.escStr(이것..쇼트 폼)+'-'+g, Cite TB.increment Fields(증분 필드) );          이것..증가 가능[g].세우다 = 진실의;      }     }     한다면 (니즈셋업    $.is Empty Object(빈 객체)(이것..증가 가능)) {      위해서(i=0; i< >자동 입력.길이; i++) {       $( 문서 ).( '클릭, 자동 입력[i], Cite TB.initAutofill(자동필) );      }      }     돌아가다 trs;      }      // HTML을 조금 제공하여 열린 폼을 식별할 수 있도록 합니다.   이것..getInitial(초기화) = 기능.() {     변화하다 숨겨져 있다 = '<input type="hidden" class="class-class" value=' + 이것..템플릿명 + '/>';     돌아가다 숨겨져 있다;   }      // 대화 상자에서 사용되는 폼을 만듭니다.   이것..get Form(양식) = 기능.() {     변화하다 주된 = $("<div class='class-form-class' />");     변화하다 폼1 = $('< table style = " width : 100 % ; background - color : transparent ;" class = " -- - basic - fields " / >');     변화하다 i=0;     변화하다 trs = 이것..make Form Inner(이것..기본의, 진실의);     위해서 (변화하다 i=0; i< >trs.길이; i++) {       폼1.추가하다(trs[i]);     }          변화하다 폼2 = $('<table style="width:100%; background-color:투명; display:none" class="background-color-transparent-fields">');     trs = 이것..make Form Inner(이것..추가의, 진실의);     위해서 (변화하다 i=0; i< >trs.길이; i++) {       폼2.추가하다(trs[i]);     }         주된.추가하다(폼1).추가하다(폼2);          변화하다 폼3 = $('<table style="width:100%; background-color:투명;background-top:1em" class="background-color-other-fields">');     변화하다 tr = $('<tr / >');     변화하다 td1 = $('<text class="text-align:right; width:20%" />');     변화하다 라벨 1 = $('<라벨 />');     라벨 1.특성('용', "어느 쪽인가"+Cite TB.escStr(이것..쇼트 폼)+'-name').본문(.사용성.메시지 가져오기('filename-));     td1.추가하다(라벨 1);     변화하다 td2 = $('<blass class="class-form-class" style="width:30%" />');     변화하다 입력 1 = $('<input tabindex="1" style="width:100%" type="text" />');     입력 1.특성(아이디, '아쉬운-'+Cite TB.escStr(이것..쇼트 폼)+'-name');     td2.추가하다(입력 1);     변화하다 td3 = $('<text-align:오른쪽, 패딩-왼쪽:1em, width:20%' style=');     변화하다 라벨 2 = $('<라벨 />');     라벨 2.특성('용', '아쉬운-'+Cite TB.escStr(이것..쇼트 폼)+'-그룹').본문(.사용성.메시지 가져오기('sublic-group-label'));     td3.추가하다(라벨 2);     변화하다 td4 = $('<blass class="class-form-class" style="width:30%" />');     변화하다 입력 2 = $('<input tabindex="1" style="width:100%" type="text" />');     입력 2.특성(아이디, '아쉬운-'+Cite TB.escStr(이것..쇼트 폼)+'-그룹');     td4.추가하다(입력 2);     tr.추가하다(td1).추가하다(td2).추가하다(td3).추가하다(td4);     폼3.추가하다(tr);     주된.추가하다(폼3);     변화하다 엑스트라 = $('<div />');     엑스트라.추가하다('<input type="hidden" class="form-status" value="closed" />');     변화하다 숨겨져 있다 = $('<입력타입="숨김" class="class-class" />');     숨겨져 있다.(이것..템플릿명);     엑스트라.추가하다(숨겨져 있다);     변화하다 span1 = $('<span class="span-class-label" style="display:none;" />');     span1.본문(.사용성.메시지 가져오기('원시 가공'));     엑스트라.추가하다(span1).추가하다('<div class="class-ref-class" style="class:0.5em;글꼴 크기:110%" />');     변화하다 스판 2 = $('<span class="span-class-parsed-label" style="display:none;" />');     스판 2.본문(.사용성.메시지 가져오기('parsed-label'));     엑스트라.추가하다(스판 2).추가하다('<div class="class-class-parsed" style="class-bottom:0.5em;글꼴 크기:110%" />');     변화하다 링크 = $('<a href="#" class="class-"class-class" style="display:0 1em 0 1em;표시:없음;색:다크블루" />');     링크.본문(.사용성.메시지 가져오기('형식 변경'));     엑스트라.추가하다(링크);         주된.추가하다(엑스트라);          돌아가다 주된;   } }  /* 오류 체크 클래스 FIXME: 오래된 문서 유형 - 유형 오류 검사 - 현재 옵션: * 'refcheck' - 각 ref에 개별적으로 함수를 적용합니다. * 함수는 참조 개체를 허용하고 문자열을 반환해야 합니다. * 'reflist' - 전체 reflist에 함수를 적용합니다. * 함수는 참조 객체의 배열을 허용하고 문자열 배열을 반환해야 합니다. * '검색' - 페이지 텍스트에 함수를 적용합니다. * 함수는 페이지 텍스트를 문자열로 받아들이고 문자열 배열을 반환해야 합니다. 함수에 의해 반환되는 문자열은 유효한 HTML이어야 합니다.     func - 위에서 설명한 기능 testname - 오류 검사 이름입니다.스페이스는 사용할 수 없습니다. desc - 테스트에 대한 간단한 설명 */  윈도.cite Error Check(에러 체크) = 기능. (obj) {   이것..obj = obj   Cite TB.에러 체크[이것..obj.테스트명] = 이것.;      이것..달려. = 기능.() {     변화하다 에러 = [];     전환하다(이것..obj['타입']) {       사례. "재확인:         Cite TB.로드 레프();         위해서(변화하다 i=0; i< >Cite TB.메인 레퍼런스 리스트.길이; i++) {           변화하다 e = 이것..obj.기능하다(Cite TB.메인 레퍼런스 리스트[i]);           한다면 (e) {             에러.밀다(e);           }         }         브레이크.;       사례. "재목록:         Cite TB.로드 레프();         에러 = 이것..obj.기능하다(Cite TB.메인 레퍼런스 리스트);         브레이크.;       사례. 검색:         변화하다 기능하다 = 이것..obj.기능하다         Cite TB.get Page Text(페이지 텍스트)(기능.(본문) {           에러 = 기능하다(본문);         });         브레이크.;     }     돌아가다 에러;   }      이것..get Row = 기능.() {     변화하다 배를 젓다 = $("<li />");     변화하다 확인. = $("<input type='input' name='input-err-test' />");     확인..특성('값', 이것..obj.테스트명);     변화하다 라벨. = $("<라벨 />").html(.사용성.메시지 가져오기(이것..obj.기술하다));     라벨..특성('용', 이것..obj.테스트명);      배를 젓다.추가하다(확인.).추가하다(' & ndash; ').추가하다(라벨.);     돌아가다 배를 젓다;   } } $('헤드').트리거('리프트쿨바베이스');