9595 </ tbody >
9696 </ table >
9797 </ div >
98-
98+ < div id =" tablePaginationHolder " > </ div >
9999 < div id ="boxStatus ">
100100 < div id ="boxStatusLoader ">
101101 < img id ="imgStatusOut " src ="assets/images/logo-frame.svg " draggable ="false ">
111111 < h5 class ="editor-header "> Edit PDF Document's Title</ h5 >
112112 < div id ="editorInfoFilePath " title ="The PDF document's location "> </ div >
113113
114- < div class ="editor-input-box " id ="editorBoxTitle " >
114+ < div class ="editor-input-box " id ="editorBoxTitle ">
115115 < span class ="material-icons-round icon-left "> title</ span >
116- < input type =" text " id ="editorBoxTitleInput " placeholder ="PDF Document Title ">
116+ < textarea rows =" 2 " id ="editorBoxTitleInput " placeholder ="PDF Document Title "> </ textarea >
117117 </ div >
118-
118+
119119 < div class ="editor-button-group ">
120120 < span id ="editorStatusText "> </ span >
121121 < div class ="navigation-seperator "> </ div >
122- < div class ="button common-button editor-button-cancel " id ="buttonEditorCancel "> Cancel< span class ="material-icons-round icon-right "> cancel</ span > </ div >
123- < div class ="button common-button editor-button-save " id ="buttonEditorSave "> Save< span class ="material-icons-round icon-right "> save</ span > </ div >
122+ < div class ="button common-button editor-button-cancel " id ="buttonEditorCancel "> Cancel< span
123+ class ="material-icons-round icon-right "> cancel</ span > </ div >
124+ < div class ="button common-button editor-button-save " id ="buttonEditorSave "> Save< span
125+ class ="material-icons-round icon-right "> save</ span > </ div >
124126 </ div >
125127 </ div >
126128 </ div >
@@ -161,23 +163,67 @@ <h5 class="option-header">ABOUT</h5>
161163 < img id ="imgInfoLogo " src ="assets/images/logo-full.svg " alt ="NoteFinder Logo " draggable ="false "
162164 title ="NoteFinder Logo ">
163165 < div id ="copyright ">
164- < code > Version 0.8.5 | < span id ="appLicense "> AGPL-3.0-only License</ span > | < span id ="appUrl "> https://github.com/irsyadler/NoteFinder</ span > </ code >
166+ < code > Version 0.8.23 | < span id ="appLicense "> AGPL-3.0-only License</ span > | < span id ="appUrl "> https://github.com/irsyadler/NoteFinder</ span > </ code >
165167 < br >
166168 < code > NoteFinder © 2023 M. A. Irsyad M. Aminuddin</ code >
167169 </ div >
168170 < div class ="navigation-seperator "> </ div >
169171
170172 </ section >
171173 <!-- #END Section options -->
174+
175+ <!-- Section context-menu -->
176+ < section id ="contextMenu ">
177+ < div class ="item " data-action ="cut "> Cut</ div >
178+ < div class ="item " data-action ="copy "> Copy</ div >
179+ < div class ="item " data-action ="paste "> Paste</ div >
180+ < div class ="item " data-action ="editTitle "> Edit Title</ div >
181+ < div class ="item " data-action ="openDocument "> Open Document</ div >
182+ </ section >
183+ <!-- #END Section context-menu -->
184+
172185 </ div >
173186 <!-- #END Container for main content -->
174187
175188 </ div >
189+
190+ < div id ="infoTableStats "> </ div >
191+ < div id ="infoTableStats "> </ div >
192+
176193 < script src ="assets/jquery/jquery-3.6.1.min.js "> </ script >
177194 < script src ="assets/datatables/datatables.min.js "> </ script >
178195 < script src ="assets/datatables-highlight/jquery.highlight.js "> </ script >
179196 < script src ="assets/datatables-highlight/dataTables.searchHighlight.min.js "> </ script >
197+ < script src ="assets/pdfjs/pdf.js "> </ script >
180198 < script src ="assets/script.js "> </ script >
199+ < script src ="assets/reader.js "> </ script >
200+
201+ <!-- PDF document date parser -->
202+ < script type ="module ">
203+ import { format , parse } from "./assets/date-fns/date-fns-2.29.3-esm.js" ;
204+
205+ method . pdf . parseDate = ( dateString ) => { // Parse PDF document date into a proper date
206+ // Ensure date string is non-empty
207+ if ( dateString === undefined || dateString === null || typeof dateString !== "string" || dateString === "" ) {
208+ return method . pdf . config . errorDateValue ;
209+ }
210+
211+ try {
212+ // Slice string for primary data without unrelated token
213+ // Slice based on -> D:YYYYMMDDHHmmSSOHH'mm'. Refer: https://www.verypdf.com/pdfinfoeditor/pdf-date-format.htm
214+ dateString = dateString . slice ( 2 , 19 ) + dateString . slice ( 20 , 22 ) ;
215+ let date = parse ( dateString , "yyyyMMddHHmmssxx" , new Date ( ) ) ; // Refer: https://date-fns.org/v2.29.3/docs/parse
216+
217+ // Seperate date and time into different line
218+ return `${ date . toLocaleDateString ( ) } <br>${ date . toLocaleTimeString ( ) . toUpperCase ( ) } ` ;
219+ } catch ( error ) {
220+ console . error ( error ) ;
221+ return method . pdf . config . errorDateValue ;
222+ }
223+ } ;
224+ </ script >
225+ <!-- #END PDF document date parser -->
226+
181227</ body >
182228
183229</ html >
0 commit comments