├── .gitignore
├── docs
├── _config.yml
├── index.md
├── High Level Class Diagram.pdf
├── UserGuide.md
└── DevGuide.md
├── .DS_Store
├── .idea
├── vcs.xml
└── workspace.xml
├── start.js
├── root.json
├── server.js
├── init.js
├── package.json
├── LICENSE.txt
├── README.md
├── index.html
└── src
└── mindmap.main.ts
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/docs/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-modernist
--------------------------------------------------------------------------------
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JabRef/scimappr/HEAD/.DS_Store
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 | # SciMappr
2 |
3 | - [User Guide](UserGuide)
4 | - [Developer Guide](DevGuide)
5 |
--------------------------------------------------------------------------------
/docs/High Level Class Diagram.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JabRef/scimappr/HEAD/docs/High Level Class Diagram.pdf
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/start.js:
--------------------------------------------------------------------------------
1 | var app = require('app');
2 | var BrowserWindow = require('browser-window');
3 |
4 | app.on('ready', function(){
5 | var mainWindow = new BrowserWindow({
6 | width: 1920,
7 | height:1080
8 | })
9 | })
--------------------------------------------------------------------------------
/root.json:
--------------------------------------------------------------------------------
1 | [{"text":"MyThesis","nodes":[{"text":"DB-BAHN-Confirmation.pdf","icon":"glyphicon glyphicon-file","href":"C:\\Users\\mdand\\testProject\\DB-BAHN-Confirmation.pdf"},{"text":"FLT_SMOWSW39687_0.pdf","icon":"glyphicon glyphicon-file","href":"C:\\Users\\mdand\\testProject\\FLT_SMOWSW39687_0.pdf"},{"text":"test.pdf","icon":"glyphicon glyphicon-file","href":"C:\\Users\\mdand\\testProject\\test.pdf"}]}]
--------------------------------------------------------------------------------
/server.js:
--------------------------------------------------------------------------------
1 | var express = require('express');
2 | var app = express();
3 | var path = require('path');
4 | var bodyParser = require('body-parser');
5 | var baseUrl = path.resolve(__dirname, 'build');
6 | app.use( express.static( baseUrl ) );
7 |
8 | /**
9 | * set index.html in public folder as default landing router
10 | */
11 | app.use('*',function (req, res) {
12 | res.sendFile( baseUrl );
13 | });
14 |
15 | app.use(bodyParser.json());
16 |
17 | app.use('/sendData', function (req, res) {
18 | console.log(req.body);
19 | res.send('ok')
20 | });
21 |
22 | /**
23 | * Start server at port
24 | */
25 | app.listen(8080, function() {
26 | console.log('Server started at :8080');
27 | });
--------------------------------------------------------------------------------
/init.js:
--------------------------------------------------------------------------------
1 | const electron = require('electron');
2 | const {app} = electron;
3 | const {BrowserWindow} = electron;
4 | const path = require('path');
5 | const url = require('url');
6 |
7 | let win;
8 | //let dirname = '/scimappr/';
9 |
10 | function createWindow() {
11 |
12 | win = new BrowserWindow({
13 | width:1920,
14 | height:1080,
15 | webPreferences: {
16 | devTools: true,
17 | 'node-integration': false
18 | }
19 | })
20 |
21 | win.loadURL('file://' + __dirname + '/index.html');
22 |
23 | win.on('closed', ()=> {
24 | win = null;
25 | });
26 |
27 | }
28 |
29 | app.on('ready', createWindow);
30 |
31 | app.on('window-all-closed', ()=> {
32 | if(process.platform !== 'mdand') {
33 | app.quit();
34 | }
35 | });
36 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Scimappr",
3 | "version": "1.0.0",
4 | "description": "application for mindmap in internet",
5 | "main": "init.js",
6 | "scripts": {
7 | "start": "electron .",
8 | "build": "electron-packager . --overwrite --platform=win32 --electron-version=1.6.8 --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\"Mindmap\""
9 | },
10 | "author": "Scimappr_Team",
11 | "license": "MIT",
12 | "devDependencies": {
13 | "electron-prebuilt": "^1.4.13",
14 | "electron-packager": "~9.1.0"
15 | },
16 | "dependencies": {
17 | "bootstrap": "^3.3.7",
18 | "bootstrap-treeview": "1.2.0",
19 | "jquery": "3.2.1",
20 | "jqueryui": "1.11.1"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/docs/UserGuide.md:
--------------------------------------------------------------------------------
1 | # SciMappr User Guide
2 |
3 |
4 |
5 | # Installation using NPM, Git, and Bower
6 | To Install Scimappr, first we need to install node.js. Download the node.js using the link,install it (next,next) https://nodejs.org/en/
7 |
8 | After installing node.js, use git to clone this project.
9 | But first, make sure you have install git in your repository by using this command:
10 |
11 | ```npm install -g git```
12 |
13 | After installing git, install also bower by using this command:
14 |
15 | ```npm install -g bower```
16 |
17 | After installing bower, clone this project into your repository using git command:
18 |
19 | ```git clone https://github.com/koppor/scimappr.git```
20 |
21 | After clone this project, then go to one further folder by using command:
22 |
23 | ```cd scimappr```
24 |
25 | Then install all dependencies that are used by scimappr by typing command:
26 |
27 | ```npm install package.json --save```
28 |
29 | Lastly, to run this project, type this command:
30 |
31 | ```npm start```
32 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) [2017] [Scimappr Team IPVS-AS]
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SciMappr [](https://tldrlegal.com/license/mit-license)
2 |
3 | > SciMappr is [Docear](http://www.docear.org/) in the cloud.
4 |
5 | SciMappr is a project for Native App look using javascript to build a mindmap extracted from PDF.
6 | Scimappr is using Electron Framework to build cross platform apps with HTML, Javascript, and CSS.
7 |
8 | ## Installation
9 |
10 | To Install Scimappr, first we need to install node.js. Download the node.js using the link,install it (next,next) https://nodejs.org/en/
11 |
12 | After installing node.js, use git to clone this project.
13 | But first, make sure you have install git in your repository by using this command:
14 |
15 | npm install -g git
16 |
17 | After installing git, install also bower by using this command:
18 |
19 | npm install -g bower
20 |
21 | After installing bower, clone this project into your repository using git command:
22 |
23 | git clone https://github.com/JabRef/scimappr.git
24 |
25 | After clone this project, then go to one further folder by using command:
26 |
27 | cd scimappr
28 |
29 | Then install all dependencies that are used by scimappr by typing command:
30 |
31 | npm install package.json --save
32 |
33 | Lastly, to run this project, type this command:
34 |
35 | npm start
36 |
37 | Happy Mindmapping :)
38 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
--------------------------------------------------------------------------------
/docs/DevGuide.md:
--------------------------------------------------------------------------------
1 | # SciMappr Development Guide
2 |
3 | In this document, you will be informed about the internal structure of SciMappr application.
4 |
5 | # Structure of SciMappr Root Folder
6 |
7 | The structure for the SciMappr root folder consists of:
8 |
9 | |_docs
10 |
11 | |____DevGuide.md
12 |
13 | |____index.md
14 |
15 | |____UserGuide.md
16 |
17 | |_build
18 |
19 | |____assets
20 |
21 | |__________mindmap.main.js
22 |
23 | |__________jsmind.js
24 |
25 | |__________mindmap.css
26 |
27 | |__________jsmind.css
28 |
29 | |__________mindmap.js
30 |
31 | |__________sha1.js
32 |
33 | |__________sha1-min.js
34 |
35 | |__________jsmind.draggable.js
36 |
37 | |__________jsmind.droppable.js
38 |
39 | |____img
40 |
41 | |__________pdf.png
42 |
43 | |____pdf.js
44 |
45 |
46 | |_node_modules
47 |
48 |
49 | |_src
50 |
51 | |___mindmap.main.ts
52 |
53 |
54 | |_server.js
55 |
56 | |_start.js
57 |
58 | |_init.js
59 |
60 | |_package.json
61 |
62 | |_README
63 |
64 | |_index.html
65 |
66 | The main program is mindmap.main.ts which is written in Typescript and is located in /src folder.
67 | The transpile program from the main program is mindmap.main.js which is located in the /build/assets folder.
68 | The HTML file is index.html & configuration for electron can be found in the package.json. Both of them are located in the /root folder.
69 |
70 |
71 | # Explanation of Scimappr Program in Typescript
72 |
73 | There will be explanation about the class structures, important functions and the variables.
74 | For readability and the usability concerns the development of the application is done using object-oriented programming.
75 | The development language is TypeScript. TypeScript is an extension language to the Javascript.
76 | For further information, you can visit www.typescriptlang.org/.
77 |
78 | The Scimappr in the Typescript consists of several classes, such as: Main Program, Gui, Project, Annotation, Utils, PDF and Nodes. These classes will be described in detail in this developer guide.
79 |
80 | 1. Class Node
81 |
82 | Description: this class is used to set the sidebar annotation’s node parameters.
83 |
84 | Variables:
85 |
86 | private id: string;
87 | private topic: string;
88 | private filename: string;
89 | private pagenumber: number;
90 |
91 | Methods:
92 | * public setId() – this method is used to save the id of the node to the variable id
93 | * public getId() – this method is used to get the saved id from the variable id
94 | * public setTopic() – this method is used to save the topic of the node to the variable topic
95 | * public getTopic() – this method is used to get the saved topic from variable topic
96 | * public setFileName() – this method is used to save the filename of the node to the variable filename
97 | * public getFileName() – this method is used to get the saved filename from variable filename
98 | * public setPageNumber() – this method is used to save the page number of the node to the variable pagenumber
99 | * public getTopic() – this method is used to get the saved topic from variable topic
100 | * public setDraggable() – this method configures the options for the draggable
101 | * public setDroppable() – this method configures the options for the droppable
102 |
103 | 2. Class Pdf
104 |
105 | Description: This class is used to save a pdf file property details.
106 |
107 | Variables:
108 |
109 | private pdfName: string;
110 | private pdfLocation: string;
111 | private pdfLastModifiedDate: string;
112 |
113 | Methods:
114 | * public setPdfName() – this method saves the pdfName of the pdf to the variable pdfName
115 | * public getPdfName() – this method fetches the saved pdfName from variable pdfName
116 | * public setPdfLocation() – this method saves the pdfLocation of the pdf to the variable pdfLocation
117 | * public getPdfLocation() – this method fetches the saved pdfLocation from variable pdfLocation
118 | * public setPdfLastModifiedDate() – this method saves the pdfLastModifiedDate of the pdf to the variable pdfLastModifiedDate
119 | * public getPdfLastModifiedDate() – this method fetches the saved pdfLastModifiedDate from variable pdfLastModifiedDate
120 |
121 | 3. Class ListPdf -> extends Class Pdf
122 |
123 | Description: This class, as the extension from the Class Pdf, is used to save many pdf files property details in List.
124 |
125 | Variables:
126 |
127 | private listPdfFiles: string[];
128 | private lastModDatePdfFiles: string[];
129 | private directory: string;
130 |
131 | Methods:
132 | * public setLastModDate(list:string[]) – this method sets the modified date for a pdf
133 | * public getModDateFs(util, location:string, listFile:string[]) – this method fetches the modified date for all pdfs in the selected directory using electron file system.
134 | * public getLastModDate(idx:number) – this method fetches the saved mod date using a specific index.
135 | * public getListCount() - this method fetches the number of pdfs in the listPdfFiles
136 | * public getListPdf() - this method fetches all of the list of pdfs.
137 | * public getPdfFromFs() – this method reads pdf contents from file system using electron file system.
138 | * private readPdfInDirectory(path:string) – this method reads all pdf files in the specified path directory using electron (extended from method getPdfFromFs()).
139 | * public getPdfPage(filePath:string, fileName:string) – this method fetches the pages in a selected pdf file.
140 | * private getPdfFilesPage() – this method reads all pages in a selected pdf (extended from method getPdfPage()).
141 | * public chkDateChange(util, list:string[]) – this method compares with the last modified date with previous saved last modified date to find the changes in one or more pdf(s).
142 |
143 | 4. Class Annotation
144 |
145 | Description: This class is used to save an annotation property details.
146 |
147 | Variables:
148 |
149 | private fileName: string;
150 | private id: string;
151 | private topic: string;
152 | private subtype: string;
153 | private title: string;
154 | private pagenumber: number;
155 |
156 | Methods:
157 | * public setFileName() – this method saves the annotation’s name to the variable fileName
158 | * public getFileName() – this method fetches the saved annotation’s name from variable fileName.
159 | * public setId() – this method saves the annotation’s id to the variable id.
160 | * public getId() – this method fetches the saved annotation’s id from variable id.
161 | * public setTopic() – this method saves the annotation’s topic to the variable topic.
162 | * public getTopic() – this method fetches the saved annotation’s topic from variable topic.
163 | * public setSubType() – this method saves the annotation’s subtype to the variable subtype.
164 | * public getSubType() – this method fetches the saved annotation’s subtype from variable subtype.
165 | * public setTitle() – this method saves the annotation’s title to the variable title.
166 | * public getTitle() – this method fetches the saved annotation’s title from variable title.
167 | * public setPageNumber() – this method saves the annotation’s pagenumber to the variable pagenumber.
168 | * public getPageNumber() – this method fetches the saved annotation’s pagenumber from variable pagenumber.
169 |
170 |
171 | 5. Class ListAnnotations -> extends Class Annotation
172 |
173 | Description: This class, as an extension from Class Annotation, is used to save many annotations property details in List.
174 |
175 | Variables:
176 |
177 | private listPdfFilesAnnotations: string[];
178 |
179 | Methods:
180 |
181 | * public setListPdfFilesAnnotations() – this method is to save all annotations extracted from PDFs into listPdfFilesAnnotation variable.
182 | * public getListPdfFilesAnnotations() – this method fetches all annotations from variable listPdfFilesAnnotations.
183 | * Public getAnnotations(pages, filename: string) – this method will call another private method of getAnnotationDetail().
184 | * private getAnnotationsDetail(pages, fileName: string) – this method fetches all the annotations from PDFs.
185 |
186 |
187 | 6. Class Utils
188 |
189 | Description: This class is used to do some routines or utilities which will be used frequently during some methods calling, including making JSON object and JSON string, read and write file into the system, etc.
190 |
191 | Variables:
192 |
193 | private jsonFile: string;
194 | private jsonObject: NodesObject;
195 |
196 | Methods:
197 | * public setJsonFile(input: any[]) – this method will be used to make a JSON file from any lists given to this method for the input.
198 | * public setJsonString(input: string) – this method will be used to make a JSON file from string JSON given as an input for this method.
199 | * public parseJsonFile(input:string) – this method parses a JSON file string input and make it as JSON object.
200 | * public concatJsonFiles(input: string) – this method will merge two different JSON files
201 | * public getJsonFile() – this method will return a string JSON file which has been saved in the jsonFile variable.
202 | * public getJsonObject() – this method will return an object of JSON file which has been saved in the jsonObject variable.
203 | * public getHashFunction(input: string) – to give the unique id to the nodes using hash function.
204 | * public getLastModFs(location: string, url: string) – this method will return the last modification date of the given url which is read using electron.
205 | * Public getComparedLastMod(parm1:string, parm2: string) – this method compares two last modification dates and return Boolean whether the two dates are different or not.
206 | * public writeAnyTypeFile(path: string, input: string, name: string) – to save file into the system (can be .json or .mm or .jm).
207 | * public readAnyTypeFile(fullpath: string, readingtype: string, type: string) – to read any type of file from the system (can be .json or .mm or .jm)
208 |
209 |
210 | 7. Class Gui
211 |
212 | Description: This Class is used as a general Gui operations (except the sidebar Gui)
213 |
214 | Variables:
215 |
216 | private jsMindProjectNameState: string;
217 | private jsMindProjectSavedState: string;
218 | private jsMindSavedState: string;
219 | private jsMindStatusState: string;
220 | private jsMindCurrentlyOpenedProject: number;
221 | private savedStateChildElement: any;
222 |
223 | Methods:
224 | * public setGuiInitialize(mindmapMenu:any) – initializes all things regarding Gui.
225 | * public loadPdfButton(contents:any) – loads the PDF icon in the mindmap.
226 | * public setJsmindListener() – this method listens all changes regarding mindmap operation in the mindmap section.
227 | * public setContextMenu() – this method provides the list of options during event of users do right click.
228 | * public setEffectShaking(id:string) – this method is used to shake the prompter in a certain event
229 | * public setElementVisibility() – this method is used to populate all elements which have class .hide/.show and call method setShowHide().
230 | * public setShowHide() – this method is used to show / hide a selected element.
231 | * public showRecentProject() – this method is used to give href to the recent project in the project menu.
232 | * public findNodeByAttribute(attr:any, val:string) – this method finds the mindmap’s node by specifying its attribute
233 |
234 | 8. Class ContextMenu -> extends Class Gui
235 |
236 | Description: This class is used when users do right click in the mindmap section.
237 |
238 | Variables:
239 |
240 | private listData: string[];
241 | private tempBoard: string;
242 | private clipBoard: string;
243 |
244 | Methods:
245 | * public actionCopy() - to copy the content of the node
246 | * public actionPaste(project:any) – to paste the content of the node
247 | * public actionOpenPdf(directory:string) – to open pdf
248 | * public actionOpenPdfUserDefine(directory:string) – to enable editing the pdf using user defined PDF reader
249 | * public actionCancel() – to close the dialog
250 | * public actionDelete() – to delete the selected node
251 |
252 | 9. Class MindmapMenu -> extends Class Gui
253 |
254 | Description: This method, as an extension of the Class Gui, is used for all operations regarding the mindmap menu & mindmap changes.
255 |
256 | Variables:
257 |
258 | private jsMindObject: any;
259 | private fileTypeSave:string;
260 |
261 | Methods:
262 | * public setFileType() – to save the state of the filetype (.mm or .jm) into fileTypeSave variable
263 | * public getFileType() – to fetch the state of the filetype from fileTypeSave variable
264 | * public newMap(project:any, rootName:string) - creates new mindmap
265 | * public loadFile(filetype: string) – this method loads current mindmap state on the mindmap
266 | * public saveFile(fileType:string) – saves the mindmap
267 | * public getJsMindData() – fetch data from mindmap current state.
268 | * public selectFile() – selects the file chose by the user
269 | * public setOpenFileListener() – this method listens to the changes of the file .mm or .jm change
270 | * public loadFileJsMind(content:any, type:string, freemind_name:any) - opens the existing mindmaps
271 |
272 | 10. Class GuiSideBar
273 |
274 | Description: This class, as extension of the Class Gui, is used for all operations regarding to the sidebar Gui (tab project and tab annotation).
275 |
276 | Variables:
277 |
278 | private basicHtmlTitle:any;
279 | private basicHtmlContent:any;
280 |
281 | Functions:
282 | * public setGuiInit() – this method initializes the sidebar Gui
283 | * public setGuiOnAppend() – this method inserts annotation(s) extracted from PDFs when refresh button is pressed (in case annotation is added after opening scimappr application).
284 | * public resetSidebarAnnotation() – this method will clear all annotations in the sidebar
285 | * public checkSideBar() – check whether the annotation in the sidebar exist or not
286 | * public searchAnnotation(keyword:string, directory:string) – searches the annotations
287 | * public openTreeView(input: string) – this method sets the treeview based on the JSON data input.
288 | * public setTreeViewListener() – this method listens to the changes of the nodes in the treeview of the sidebar project tab.
289 | * public resetTreeView() – this method clears the treeview.
290 | * public setTreeView() – this method populate all pdf files and creating the treeview JSON file.
291 | * public setReCreateTreeView() – this method recreates treeview after a project is closed.
292 | * private setDynamicHtmlTitle() – this method creates dynamic html for the pdf title in the sidebar.
293 | * private setDynamicHtml() – checks if same nodes present in the mindmap and sidebar and execute method setDynamicHtmlContent() create dynamic html for the annotations in the sidebar.
294 | * private setDynamicHtmlContent() – this method is the real method to create dynamic html and fill the html attributes.
295 | * public setAnnotationVisibility() – this method sets the annotation title visibility by comparing some annotation(s) which have become mindmap and the remaining annotation(s) in the sidebar.
296 | * private checkJsMindNode() – this method checks whether the nodes are already in the mindmap or still in the annotation’s sidebar section.
297 | * public checkAnnotationExistInSidebar() – this method checks whether there is annotation(s) in the sidebar or not.
298 | * public findAnnotationByAttribute() – this method searches for the annotation(s) in the sidebar by their attribute.
299 |
300 |
301 | 11. Class Project
302 |
303 | Description: This class is mainly about all operations regarding to the project, such as new project, open project, save project and close project.
304 |
305 | Variables:
306 |
307 | private projectName: string;
308 | private projectLocation: string;
309 | private projectPdfList: string[];
310 | private projectStatus: string;
311 | private projectSavedFileLocation: string;
312 | private projectSavedPdfLocation: string;
313 | private projectTreeView: string;
314 | private projectPromises: string;
315 |
316 | Functions:
317 | * public setProjectName() – this method saves the name of the project in the variable projectName.
318 | * public getProjectName() – this method fetches the name of the project from the saved variable projectName.
319 | * public setProjectLocation() – this method saves the project location in the variable projectLocation.
320 | * public getProjectLocation() – this method fetches the project location from the variable projectLocation.
321 | * public setProjectPdfList() – this method saves the list of PDF(s) name into the variable projectPdfList.
322 | * public getProjectPdfList() – this method fetches the list of PDF(s) name from the variable projectPdfList.
323 | * public setProjectStatus() – this method saves the status of the project into variable projectStatus.
324 | * public getProjectStatus() – this method fetches the status of the project from variable projectStatus.
325 | * public setProjectSavedFileLocation() – this method saves the location/directory of the saved mindmap file (.mm or .jm) into variable projectSavedFileLocation.
326 | * public getProjectSavedFileLocation() – this method fetches the location/directory of the saved mindmap file (.mm or .jm) from variable projectSavedFileLocation.
327 | * public setProjectPdfFileLocation() – this method saves the location/directory of the PDF(s) file into variable projectSavedPdfLocation.
328 | * public getProjectPdfFileLocation() – this method fetches the location/directory of the PDF(s) file from variable projectSavedPdfLocation.
329 | * public setProjectTreeView() – this method saves the currently opened project treeview’s JSON file into variable projectTreeView
330 | * public getProjectTreeView() – this method fetches the currently opened project treeview’s JSON file from variable projectTreeView
331 | * public setProjectPromises() – this method saves promise results which are produced during opening new project modal into variable projectPromises.
332 | * public getProjectPromises() – this method fetches back promise results which are produced during opening new project modal from variable projectPromises.
333 | * public checkNewProject() - this method checks the requirements for the new project and returns the Boolean of the project status.
334 | * public newProjectModal() – this method opens the new project modal.
335 | * public setNewProjectListener() – this method listens to the changes of the new project requirements during the new project modal is being opened.
336 | * public createNewProject() – this method is executed when user click saves from the new project modal.
337 | * public setSaveProject() – this method is the routine which is called in order to save project.
338 | * private saveProject() – this method is the main program executed to do some stuffs, such as populating JSON data, building save mindmap file (.mm or .jm), etc, during saving the project.
339 | * public setTempSaveProject() – this method saves the temporary state of the running project (including after some changes have been made by the user).
340 | * public addToRecentProject() – this method adds the recently opened project to the shortcut of recent project in the project menu and saves it into JSON file (project.json) in the root system.
341 | * public openRecentProject() – this method opens the saved recent project from JSON file (project.json) in the root system.
342 | * public setOpenProjectModal() – this method is executed during the open project click by the user.
343 | * private setOpenProjectListener() – this method listens to the change made by project configuration file chooser (.json file).
344 | * public openProject() – this method is the main program to open a project.
345 | * public openProjectFromTreeView() – this method is used to open project based on treeview’s project selection.
346 | * public setCloseProject() – when close project is pressed, then this method is executed.
347 | * public clrProjectState() – this method clears some parameter’s states.
348 |
349 |
350 |
351 |
--------------------------------------------------------------------------------
/.idea/workspace.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | md5
107 |
108 |
109 |
110 |
111 |
112 |
113 |
119 |
120 |
121 |
122 |
123 |
124 |
125 | true
126 | DEFINITION_ORDER
127 |
128 |
129 |