MCPcopy Create free account
hub / github.com/MALSync/MALSync / getEpList

Method getEpList

src/pages-sync/syncPage.ts:885–935  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

883 }
884
885 getEpList() {
886 const This = this;
887 const elementArray = [] as JQuery<HTMLElement>[];
888 if (
889 typeof this.page.overview !== 'undefined' &&
890 typeof this.page.overview.list !== 'undefined'
891 ) {
892 const { elementEp } = this.page.overview.list;
893 let currentEpisode = 0;
894 if (this.singleObj) {
895 currentEpisode = parseInt(this.singleObj.getEpisode());
896 }
897
898 this.page.overview.list.elementsSelector().each(function (index, el) {
899 try {
900 const epNumber = parseInt(`${elementEp(j.$(el))}`);
901
902 let offset = 0;
903 if (This.searchObj && This.searchObj.getRuledOffset(epNumber)) {
904 offset = Number(This.searchObj.getRuledOffset(epNumber));
905
906 const searchObjUrl = This.searchObj.getUrl();
907 const ruledUrl = This.searchObj.getRuledUrl(epNumber);
908
909 if (searchObjUrl !== ruledUrl) {
910 j.$(el).attr('data-mal-sync-entry', ruledUrl);
911 return;
912 }
913 }
914
915 const elEp = epNumber + offset;
916 elementArray[elEp] = j.$(el);
917
918 j.$(el).attr('data-mal-sync-episode', elEp);
919 if (elEp !== epNumber) {
920 j.$(el).attr('data-mal-sync-episode-detected', epNumber);
921 }
922
923 if (
924 (api.settings.get('highlightAllEp') && elEp <= currentEpisode) ||
925 elEp === currentEpisode
926 ) {
927 j.$(el).addClass('mal-sync-active');
928 }
929 } catch (e) {
930 logger.info(e);
931 }
932 });
933 }
934 return elementArray;
935 }
936
937 offsetHandler(epList) {
938 if (!this.page.overview!.list!.offsetHandler) return;

Callers 1

handleListMethod · 0.95

Calls 6

getRuledOffsetMethod · 0.80
getRuledUrlMethod · 0.80
getMethod · 0.65
elementEpFunction · 0.50
getUrlMethod · 0.45
infoMethod · 0.45

Tested by

no test coverage detected