미디어위키: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; ').추가하다(라벨.); 돌아가다 배를 젓다; } } $('헤드').트리거('리프트쿨바베이스');