diff --git a/src/assets/conf/resources-landing-page.json b/src/assets/conf/resources-landing-page.json
index d4eb12e..a65a801 100644
--- a/src/assets/conf/resources-landing-page.json
+++ b/src/assets/conf/resources-landing-page.json
@@ -1,25 +1,278 @@
{
- "grid-container": [
- {
- "title": "Paycor",
- "description": "Clock in and out, request time off, review health benefits and access paystubs using the Paycor human-resources application.",
- "imagePath": "PaycorLogo2-Transparent_100x100.png",
- "urlText": "https://www.paycor.com/",
- "altText": ""
+ "grid-container": {
+
+
+
+ "Human Resources": {
+ "description": "Policies, recruitment, onboarding, benefits and compensation",
+ "cards": [
+ {
+ "title": "Paycor",
+ "description": "Track your time off, manage your benefits plans, and access pay stubs using this human-resources application.",
+ "imagePath": "paycor-logo3-100x100.png",
+ "urlText": "https://www.paycor.com/",
+ "altText": "Paycor logo"
+ },
+ {
+ "title": "Swag Store",
+ "description": "Buy polo shirts and other logo gear here. Costs are deducted from Funny Money coupons or your paycheck.",
+ "imagePath": "swag-store-icon-100x100.png",
+ "urlText": "https://www.companycasuals.com/JDSfaulknerapparel/start.jsp",
+ "altText": "Store icon"
+ },
+ {
+ "title": "Employee Handbook",
+ "description": "Read the handbook to learn about the company’s policies related to employment, including pay and benefits.",
+ "imagePath": "pdf-icon-100x100.png",
+ "urlText": "../resources/human-resources/JDSfaulkner-Emp-Handbook-v8.0.pdf",
+ "altText": "PDF icon"
+ },
+ {
+ "title": "Direct Deposit",
+ "description": "Would you like have your paychecks deposited into your bank account? Fill out this form and submit it to HR.",
+ "imagePath": "pdf-icon-100x100.png",
+ "urlText": "../resources/human-resources/2-Paycor_Direct_Deposit_Worksheet.pdf",
+ "altText": "PDF icon"
+ },
+ {
+ "title": "NC-4EZ Form",
+ "description": "Submit this form to HR so that the correct amount of state income tax can be witheld from your paychecks.",
+ "imagePath": "tax-icon-100x100.png",
+ "urlText": "https://www.ncdor.gov/documents/employees-withholding-allowance-certificate-nc-4ez",
+ "altText": "tax icon"
+ },
+ {
+ "title": "Employment Application",
+ "description": "Would you or someone you know like to apply for a position? JDSfaulkner is always accepting applications.",
+ "imagePath": "word-icon-100x100.png",
+ "urlText": "../resources/human-resources/Employment-Application.docx",
+ "altText": "Document icon"
+ },
+ {
+ "title": "Drafting Quiz",
+ "description": "Click here to access a prequalifying quiz that is a requirement for those applying for drafting positions.",
+ "imagePath": "word-icon-100x100.png",
+ "urlText": "../resources/human-resources/JDSfaulknerDraftingQuiz_11-16-20a.docx",
+ "altText": "Document icon"
+ },
+ {
+ "title": "W-4 Form",
+ "description": "Fill out this form and submit to HR so that the company can withhold the correct federal income tax from your pay.",
+ "imagePath": "tax-icon-100x100.png",
+ "urlText": "https://www.irs.gov/forms-pubs/about-form-w-4",
+ "altText": "tax icon"
+ },
+ {
+ "title": "SRA",
+ "description": "A salary reduction agreement helps you to establish or change the part of your compensation that goes to an IRA.",
+ "imagePath": "pdf-icon-100x100.png",
+ "urlText": "../resources/human-resources/Notice-and-Agreement.pdf",
+ "altText": "PDF icon"
+ }
+ ]
},
- {
- "title": "Gmail",
- "description": "Access your company e-mail and a suite of Google apps, including a calendar, instant messaging and cloud storage.",
- "imagePath": "Gmail-Transparent_100x100.png",
- "urlText": "https://mail.google.com",
- "altText": ""
+
+
+ "Marketing": {
+ "description": "Client-facing media, publications, public relations and advertising",
+ "cards": [
+ {
+ "title": "JDSfaulkner.com",
+ "description": "Our website conveys the company's value and convinces visitors to choose JDSfaulkner, all in the blink of an eye.",
+ "imagePath": "jdsfaulkner-small-icon.png",
+ "urlText": "https://jdsfaulkner.com/",
+ "altText": "JDSfaulkner brand mark"
+ },
+ {
+ "title": "Salesforce",
+ "description": "Focus on the customer experience with the help of the Salesforce customer relationship management application.",
+ "imagePath": "salesforce-logo-100x100.png",
+ "urlText": "https://login.salesforce.com/",
+ "altText": "Salesforce logo"
+ },
+ {
+ "title": "JDSfaulkner Brochure",
+ "description": "Share the company's brochure with existing and potential clients to showcase the value JDSfaulkner has to offer.",
+ "imagePath": "pdf-icon-100x100.png",
+ "urlText": "../resources/coming-soon.pdf",
+ "altText": "PDF icon"
+ },
+ {
+ "title": "JDSfaulkner SOQ",
+ "description": "SOQs present the experience and capabilities that qualify JDSfaulkner to win contracts or new clients.",
+ "imagePath": "pdf-icon-100x100.png",
+ "urlText": "../resources/coming-soon.pdf",
+ "altText": "PDF icon"
+ },
+ {
+ "title": "JDSfaulkner Logo - EPS",
+ "description": "Do you need to present the logo in your work? Here's an eps format to use in collateral and merchandise.",
+ "imagePath": "image-eps-icon.png",
+ "urlText": "../resources/marketing/JDS_faulkner_Logo.eps",
+ "altText": "Image icon"
+ },
+ {
+ "title": "JDSfaulkner Logo - PNG",
+ "description": "Do you need to present the logo in your work? Here's a png format to use in collateral and merchandise.",
+ "imagePath": "image-png-icon.png",
+ "urlText": "../resources/marketing/JDS_faulkner_Logo.png",
+ "altText": "Image icon"
+ },
+ {
+ "title": "Marketing Contacts",
+ "description": "Keep track of important contacts using this list of names, mailing and e-mail addresses, and phone numbers.",
+ "imagePath": "pdf-icon-100x100.png",
+ "urlText": "../resources/coming-soon.pdf",
+ "altText": "PDF icon"
+ },
+ {
+ "title": "Facebook",
+ "description": "Through Facebook, the company connects with the community by sharing content and interacting with the public.",
+ "imagePath": "facebooklogogrey_100x100.png",
+ "urlText": "https://www.facebook.com/JDSfaulkner/",
+ "altText": "Facebook icon"
+ },
+ {
+ "title": "LinkedIn",
+ "description": "JDSfaulkner maintains a presence on LinkedIn for professional networking, posting job openings and receiving resumes.",
+ "imagePath": "linkedinlogo_100x100.png",
+ "urlText": "https://www.linkedin.com/company/jds-consulting-&-design",
+ "altText": "LinkedIn icon"
+ }
+ ]
},
- {
- "title": "Workplace",
- "description": "Get the latest news and connect with colleagues. JDSfaulkner uses Workplace by Facebook for posting and sharing.",
- "imagePath": "WorkplaceLogo-Transparent_100x100.png",
- "urlText": "https://jdsfaulkner.workplace.com",
- "altText": ""
+
+
+ "Productivity": {
+ "description": "Basic work tools, e-mail, calendar, document applications and cloud storage",
+ "cards": [
+ {
+ "title": "Gmail",
+ "description": "Access your company e-mail along with a suite of Google apps, including a calendar, instant messaging and cloud storage.",
+ "imagePath": "gmail-logo2-100x100.png",
+ "urlText": "https://mail.google.com",
+ "altText": "Gmail logo"
+ },
+ {
+ "title": "Workplace",
+ "description": "Get the latest news and connect with colleagues. JDSfaulkner uses Workplace by Facebook for posting and sharing.",
+ "imagePath": "workplace-logo3-100x100.png",
+ "urlText": "https://jdsfaulkner.workplace.com",
+ "altText": "Workplace logo"
+ },
+ {
+ "title": "Google Workspace",
+ "description": "This suite of Google products includes Gmail, Calendar, Meet, Chat, Drive, Docs, Sheets, Slides, Forms and more.",
+ "imagePath": "google-logo2-100x100.png",
+ "urlText": "https://myaccount.google.com/",
+ "altText": "Google Workspace logo"
+ },
+ {
+ "title": "Dropbox",
+ "description": "The Structural Engineering Design department stores most of its files and folders in the Dropbox cloud-based system.",
+ "imagePath": "dropbox-logo3-100x100.png",
+ "urlText": "https://www.dropbox.com/login",
+ "altText": "Dropbox logo"
+ }
+ ]
+ },
+
+
+ "Training": {
+ "description": "Career growth, skills development, online courses, manuals and references",
+ "cards": [
+ {
+ "title": "Learning Center",
+ "description": "Visit your central location for e-learning, offering the flexibility to learn on your own schedule and at your own pace.",
+ "imagePath": "learning-center-icon4-100x100.png",
+ "urlText": "https://jdsfaulkner.workplace.com",
+ "altText": "Learning Center icon"
+ },
+ {
+ "title": "ASTM Procedures",
+ "description": "Log in to this website for access to current ASTM procedures. Contact the CMT Manager for the login ID and password.",
+ "imagePath": "astm-logo3-100x100.png",
+ "urlText": "https://myastm.astm.org/",
+ "altText": "ASTM logo"
+ },
+ {
+ "title": "Company Procedures",
+ "description": "Find out how to carry out specific tasks at JDSfaulkner in a manner that ensures company-wide consistency and quality.",
+ "imagePath": "learning-center-icon4-100x100.png",
+ "urlText": "https://learning.carolina.engineering/additional-resources/",
+ "altText": "Learning Center icon"
+ },
+ {
+ "title": "Field Guide",
+ "description": "This quick-reference guide helps engineering technicians find helpful charts, tables and information.",
+ "imagePath": "learning-center-icon4-100x100.png",
+ "urlText": "https://learning.carolina.engineering/additional-resources/",
+ "altText": "Learning Center icon"
+ },
+ {
+ "title": "CAD Tech Study Guide",
+ "description": "This guide presents lessons for drafters, each of which can help a drafter advance to CAD Tech II status.",
+ "imagePath": "learning-center-icon4-100x100.png",
+ "urlText": "https://learning.carolina.engineering/additional-resources/",
+ "altText": "Learning Center icon"
+ },
+ {
+ "title": "Deltek University",
+ "description": "Increase your Deltek knowledge with courses designed to teach you how to use Deltek solutions.",
+ "imagePath": "deltek-logo-black.png",
+ "urlText":"https://www.deltek.com/en/support/deltek-university",
+ "altText": "Deltek logo"
+ }
+ ]
+ },
+
+
+ "Workflow": {
+ "description": "Project management, task assignment and status, client information, invoicing and reports",
+ "cards": [
+ {
+ "title": "Clarity",
+ "description": "Create, track, review and bill field-engineering projects, start to finish, with Clarity project management software.",
+ "imagePath": "clarity-icon-100x100.png",
+ "urlText": "https://learning.carolina.engineering/introduction-to-clarity/",
+ "altText": "Clarity image"
+ },
+ {
+ "title": "Project Insight",
+ "description": "Structural Engineering Design uses this project management software to centralize the group's work, tasks and projects.",
+ "imagePath": "project-insight-logo6-100x100.png",
+ "urlText": "https://jds.projectinsight.net/",
+ "altText": "Project Insight logo"
+ },
+ {
+ "title": "Deltek",
+ "description": "Project intelligence, management and collaboration software helps maximize productivity and revenue.",
+ "imagePath": "deltek-logo-black.png",
+ "urlText": "https://www.deltek.com/en",
+ "altText": "Deltek logo"
+ },
+ {
+ "title": "Procore",
+ "description": "Administrators for field engineering projects use Procore for collecting, reviewing and approving invoices.",
+ "imagePath": "ProcoreLogo2.png",
+ "urlText": "https://www.procore.com/",
+ "altText": "Procore logo"
+ },
+ {
+ "title": "Client W-9 Form",
+ "description": "A W-9 form is required by JDSfaulkner so that the company can file an information return with the IRS.",
+ "imagePath": "tax-icon-100x100.png",
+ "urlText": "https://www.irs.gov/forms-pubs/about-form-w-9",
+ "altText": "tax icon"
+ },
+ {
+ "title": "Project Folders",
+ "description": "Access vital information about specific projects – from initial set-up to final delivery – in an accessible and central location.",
+ "imagePath": "project-folder-icon-100x100.png",
+ "urlText": "../resources/coming-soon.pdf",
+ "altText": "Project folder icon"
+ }
+ ]
}
- ]
+ }
}
\ No newline at end of file
diff --git a/src/assets/documents/Employee Handbook/voicemail-and-vacation-responder.pdf b/src/assets/documents/Employee Handbook/voicemail-and-vacation-responder.pdf
deleted file mode 100644
index 9f744a7..0000000
Binary files a/src/assets/documents/Employee Handbook/voicemail-and-vacation-responder.pdf and /dev/null differ
diff --git a/src/assets/documents/Test.Word.Doc.docx b/src/assets/documents/Test.Word.Doc.docx
deleted file mode 100644
index 45856e7..0000000
Binary files a/src/assets/documents/Test.Word.Doc.docx and /dev/null differ
diff --git a/src/assets/documents/ZSort.Test.txt b/src/assets/documents/ZSort.Test.txt
deleted file mode 100644
index ff15cec..0000000
--- a/src/assets/documents/ZSort.Test.txt
+++ /dev/null
@@ -1 +0,0 @@
-content!
\ No newline at end of file
diff --git a/src/assets/images/AdobeStock_107183629.jpeg b/src/assets/images/AdobeStock_107183629.jpeg
deleted file mode 100644
index 5c0f400..0000000
Binary files a/src/assets/images/AdobeStock_107183629.jpeg and /dev/null differ
diff --git a/src/assets/images/Asset4.png b/src/assets/images/Asset4.png
new file mode 100644
index 0000000..ffc170c
Binary files /dev/null and b/src/assets/images/Asset4.png differ
diff --git a/src/assets/images/FilesImage_WebBanner_1800x600.png b/src/assets/images/FilesImage_WebBanner_1800x600.png
deleted file mode 100644
index 10fac91..0000000
Binary files a/src/assets/images/FilesImage_WebBanner_1800x600.png and /dev/null differ
diff --git a/src/assets/images/Gmail-Transparent_100x100.png b/src/assets/images/Gmail-Transparent_100x100.png
deleted file mode 100644
index 44c1503..0000000
Binary files a/src/assets/images/Gmail-Transparent_100x100.png and /dev/null differ
diff --git a/src/assets/images/GmailCircle_100x100.png b/src/assets/images/GmailCircle_100x100.png
deleted file mode 100644
index 80effee..0000000
Binary files a/src/assets/images/GmailCircle_100x100.png and /dev/null differ
diff --git a/src/assets/images/PaycorLogo2-Circle_100x100.png b/src/assets/images/PaycorLogo2-Circle_100x100.png
deleted file mode 100644
index 31126fa..0000000
Binary files a/src/assets/images/PaycorLogo2-Circle_100x100.png and /dev/null differ
diff --git a/src/assets/images/PaycorLogo2-Transparent_100x100.png b/src/assets/images/PaycorLogo2-Transparent_100x100.png
deleted file mode 100644
index 95a187f..0000000
Binary files a/src/assets/images/PaycorLogo2-Transparent_100x100.png and /dev/null differ
diff --git a/src/assets/images/ProcoreLogo2.png b/src/assets/images/ProcoreLogo2.png
new file mode 100644
index 0000000..c1a312b
Binary files /dev/null and b/src/assets/images/ProcoreLogo2.png differ
diff --git a/src/assets/images/WorkplaceLogo-Circle_100x100.png b/src/assets/images/WorkplaceLogo-Circle_100x100.png
deleted file mode 100644
index 0bdc137..0000000
Binary files a/src/assets/images/WorkplaceLogo-Circle_100x100.png and /dev/null differ
diff --git a/src/assets/images/WorkplaceLogo-Transparent_100x100.png b/src/assets/images/WorkplaceLogo-Transparent_100x100.png
deleted file mode 100644
index 69394aa..0000000
Binary files a/src/assets/images/WorkplaceLogo-Transparent_100x100.png and /dev/null differ
diff --git a/src/assets/images/astm-logo3-100x100.png b/src/assets/images/astm-logo3-100x100.png
new file mode 100644
index 0000000..2d8a295
Binary files /dev/null and b/src/assets/images/astm-logo3-100x100.png differ
diff --git a/src/assets/images/chevron-down.svg b/src/assets/images/chevron-down.svg
new file mode 100644
index 0000000..0ec9604
--- /dev/null
+++ b/src/assets/images/chevron-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/chevron-up.svg b/src/assets/images/chevron-up.svg
new file mode 100644
index 0000000..a69d6b8
--- /dev/null
+++ b/src/assets/images/chevron-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/clarity-icon-100x100.png b/src/assets/images/clarity-icon-100x100.png
new file mode 100644
index 0000000..e16b9f6
Binary files /dev/null and b/src/assets/images/clarity-icon-100x100.png differ
diff --git a/src/assets/images/deltek-logo-black.png b/src/assets/images/deltek-logo-black.png
new file mode 100644
index 0000000..a12b819
Binary files /dev/null and b/src/assets/images/deltek-logo-black.png differ
diff --git a/src/assets/images/dropbox-logo3-100x100.png b/src/assets/images/dropbox-logo3-100x100.png
new file mode 100644
index 0000000..69625b2
Binary files /dev/null and b/src/assets/images/dropbox-logo3-100x100.png differ
diff --git a/src/assets/images/facebooklogogrey_100x100.png b/src/assets/images/facebooklogogrey_100x100.png
new file mode 100644
index 0000000..39ae08c
Binary files /dev/null and b/src/assets/images/facebooklogogrey_100x100.png differ
diff --git a/src/assets/images/gmail-logo2-100x100.png b/src/assets/images/gmail-logo2-100x100.png
new file mode 100644
index 0000000..9c4d35d
Binary files /dev/null and b/src/assets/images/gmail-logo2-100x100.png differ
diff --git a/src/assets/images/google-logo2-100x100.png b/src/assets/images/google-logo2-100x100.png
new file mode 100644
index 0000000..a5f4184
Binary files /dev/null and b/src/assets/images/google-logo2-100x100.png differ
diff --git a/src/assets/images/image-eps-icon.png b/src/assets/images/image-eps-icon.png
new file mode 100644
index 0000000..e58aabf
Binary files /dev/null and b/src/assets/images/image-eps-icon.png differ
diff --git a/src/assets/images/image-png-icon.png b/src/assets/images/image-png-icon.png
new file mode 100644
index 0000000..0b07948
Binary files /dev/null and b/src/assets/images/image-png-icon.png differ
diff --git a/src/assets/images/jdsfaulkner-logo-lt-theme.png b/src/assets/images/jdsfaulkner-logo-lt-theme.png
new file mode 100644
index 0000000..7ed709a
Binary files /dev/null and b/src/assets/images/jdsfaulkner-logo-lt-theme.png differ
diff --git a/src/assets/images/jdsfaulkner-small-icon.png b/src/assets/images/jdsfaulkner-small-icon.png
new file mode 100644
index 0000000..d780468
Binary files /dev/null and b/src/assets/images/jdsfaulkner-small-icon.png differ
diff --git a/src/assets/images/learning-center-icon4-100x100.png b/src/assets/images/learning-center-icon4-100x100.png
new file mode 100644
index 0000000..6f03058
Binary files /dev/null and b/src/assets/images/learning-center-icon4-100x100.png differ
diff --git a/src/assets/images/linkedinlogo_100x100.png b/src/assets/images/linkedinlogo_100x100.png
new file mode 100644
index 0000000..3a13100
Binary files /dev/null and b/src/assets/images/linkedinlogo_100x100.png differ
diff --git a/src/assets/images/paycor-logo3-100x100.png b/src/assets/images/paycor-logo3-100x100.png
new file mode 100644
index 0000000..d36fea7
Binary files /dev/null and b/src/assets/images/paycor-logo3-100x100.png differ
diff --git a/src/assets/images/pdf-icon-100x100.png b/src/assets/images/pdf-icon-100x100.png
new file mode 100644
index 0000000..d7fa939
Binary files /dev/null and b/src/assets/images/pdf-icon-100x100.png differ
diff --git a/src/assets/images/project-folder-icon-100x100.png b/src/assets/images/project-folder-icon-100x100.png
new file mode 100644
index 0000000..0a4b308
Binary files /dev/null and b/src/assets/images/project-folder-icon-100x100.png differ
diff --git a/src/assets/images/project-insight-logo6-100x100.png b/src/assets/images/project-insight-logo6-100x100.png
new file mode 100644
index 0000000..1bf915f
Binary files /dev/null and b/src/assets/images/project-insight-logo6-100x100.png differ
diff --git a/src/assets/images/salesforce-logo-100x100.png b/src/assets/images/salesforce-logo-100x100.png
new file mode 100644
index 0000000..3c2f57b
Binary files /dev/null and b/src/assets/images/salesforce-logo-100x100.png differ
diff --git a/src/assets/images/swag-store-icon-100x100.png b/src/assets/images/swag-store-icon-100x100.png
new file mode 100644
index 0000000..d6b97a7
Binary files /dev/null and b/src/assets/images/swag-store-icon-100x100.png differ
diff --git a/src/assets/images/tax-icon-100x100.png b/src/assets/images/tax-icon-100x100.png
new file mode 100644
index 0000000..0faa009
Binary files /dev/null and b/src/assets/images/tax-icon-100x100.png differ
diff --git a/src/assets/images/word-icon-100x100.png b/src/assets/images/word-icon-100x100.png
new file mode 100644
index 0000000..f53f3a4
Binary files /dev/null and b/src/assets/images/word-icon-100x100.png differ
diff --git a/src/assets/images/workplace-logo3-100x100.png b/src/assets/images/workplace-logo3-100x100.png
new file mode 100644
index 0000000..ac2d6a4
Binary files /dev/null and b/src/assets/images/workplace-logo3-100x100.png differ
diff --git a/src/assets/pages/Design1.html b/src/assets/pages/Design1.html
deleted file mode 100644
index 310ec91..0000000
--- a/src/assets/pages/Design1.html
+++ /dev/null
@@ -1,228 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- Resources
-
-
-
-
-
-
-
-
About
-
Add some information about the album below, the author, or any other background context. Make it a few sentences long so folks can pick up some informative tidbits. Then, link them off to some social networking sites or contact information.
Clock in and out, request time off, review health benefits and access paystubs using the Paycor human-resources application.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Gmail
-
Access your company e-mail and a suite of Google apps, including a calendar, instant messaging and cloud storage.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Workplace
-
Get the latest news and connect with colleagues. JDSfaulkner uses Workplace by Facebook for posting and sharing.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/assets/pages/resources-landing-page.html b/src/assets/pages/resources-landing-page.html
index 5933d6b..4a07f02 100644
--- a/src/assets/pages/resources-landing-page.html
+++ b/src/assets/pages/resources-landing-page.html
@@ -1,9 +1,11 @@
+
+
- ResourceFinder
+ Resource Center
@@ -11,67 +13,125 @@
+
-
-
-
-
-
-
You rely on a vast amount of resources to do your job. How can you keep track of them all? Explore ResourceFinder. From payroll to project-management, ResourceFinder can help you locate the tools you need.
+
\ No newline at end of file
diff --git a/src/assets/views/web-card.mustache b/src/assets/views/web-card.mustache
index 53d59b5..0bc51b0 100644
--- a/src/assets/views/web-card.mustache
+++ b/src/assets/views/web-card.mustache
@@ -1,8 +1,8 @@
-
+
- {{title}}
+
{{title}}
{{description}}
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/src/ts_source/templates.ts b/src/ts_source/templates.ts
index b1134a4..0681c68 100644
--- a/src/ts_source/templates.ts
+++ b/src/ts_source/templates.ts
@@ -20,22 +20,20 @@ export function cacheTemplates() {
});
}
-export function loadTemplate(filename: string, objs: object[], cb: TemplateCallbackType) {
+export function loadTemplate(filename: string, obj: object, cb: TemplateCallbackType) {
let contents = templateCache[filename];
if (!contents) throw new Error("No such template: " + filename);
- let results: string[] = []
- for (let i = 0, l = objs.length; i < l; i++) {
- let obj = objs[i]
- let rendered = Mustache.render(contents, obj)
- results.push(rendered)
+ let rendered = Mustache.render(contents, obj)
+ if (null !== cb) {
+ cb(rendered)
}
- cb(results)
+ return rendered;
}
export function loadTemplateSingle(filename: string, cardModel: CardModel, cb: (content: string, id: string) => void) {
let contents = templateCache[filename];
if (!contents) throw new Error("No such template: " + filename);
- cardModel['id'] = createId(cardModel.resourcePath);
+ cardModel['id'] = createId(cardModel.title + cardModel.resourcePath);
let rendered = Mustache.render(contents, cardModel);
cb(rendered, cardModel['id']);
}
diff --git a/src/ts_source/themes.ts b/src/ts_source/themes.ts
index abd849d..a931774 100644
--- a/src/ts_source/themes.ts
+++ b/src/ts_source/themes.ts
@@ -13,15 +13,12 @@ export module Themes {
applyTheme(initTheme);
let initToggle = $('#theme-toggle');
let initThemeEnum = getThemeFromValue(initTheme);
- initToggle.addClass(getButtonClassFromAppTheme(initThemeEnum));
+ // initToggle.addClass(getButtonClassFromAppTheme(initThemeEnum));
initToggle.on("click", () => {
let conf = Configurator.loadUserConfig(ConfigPaths.UserConfigName);
- let toggle = $("#theme-toggle");
let themeValue = conf['theme'];
let currTheme = getThemeFromValue(themeValue);
let opposite = getOppositeTheme(currTheme);
- toggle.removeClass(getButtonClassFromAppTheme(currTheme));
- toggle.addClass(getButtonClassFromAppTheme(opposite));
applyTheme(opposite);
conf['theme'] = opposite;
Configurator.saveUserConfig(ConfigPaths.UserConfigName, conf);
diff --git a/src/ts_source/viewFactory.ts b/src/ts_source/viewFactory.ts
index b897cf4..e0aa143 100644
--- a/src/ts_source/viewFactory.ts
+++ b/src/ts_source/viewFactory.ts
@@ -1,5 +1,5 @@
import {Configurator, FileUtils} from './fileutils'
-import {loadTemplateSingle} from "./templates"
+import {loadTemplate, loadTemplateSingle} from "./templates"
const shell = require('electron').shell;
@@ -40,17 +40,54 @@ export function buildFileCard(filePath: string, elem: Element, append: boolean =
export function buildWebCardsFromConfig(configName: string) {
let elementConfig = Configurator.loadAppConfig(configName);
let $ = require('jquery')
- let keys = Object.keys(elementConfig);
-
-
- for (let i = 0, l = keys.length; i < l; i++) {
- let key = keys[i];
- let contentList = elementConfig[key];
- let element = $(`#${key}`);
- console.log(element);
- for (let j = 0, m = contentList.length; j {
+ });
+ let categoryWrapper = $(categoryWrapperRaw);
+
+ containerElem.append(categoryWrapper);
+
+ let view = $(`#${categoryKey}-container`);
+ let collapseButton = $(`#${categoryKey}-collapser`);
+
+ collapseButton.on("click", () => {
+ let collapsable = $(`#${categoryKey}-container`);
+ let collapseButton = $(`#${categoryKey}-collapser`);
+ let collapseImg = $(`#${categoryKey}-img`);
+ if ("none" === collapsable.css('display')) {
+ collapsable.css("display", "");
+ collapseButton.addClass("active");
+ collapseImg.attr("src", "../images/chevron-down.svg");
+ } else {
+ collapsable.css("display", "none");
+ collapseButton.removeClass("active");
+ collapseImg.attr("src", "../images/chevron-up.svg");
+ }
+ });
+
+ for (let j = 0, m = contentList.length; j < m; j++) {
+ let content = contentList[j];
+ buildWebCard(view, content, true, $);
+ }
}
}
@@ -65,7 +102,6 @@ export function buildWebCard(elem: JQuery, obj, append: boolean = f
);
loadTemplateSingle("web-card.mustache", model, (content: string, id: string) => {
- console.log(elem);
if (append) {
elem.append(content);
} else {
@@ -100,11 +136,9 @@ function getImagePathFromDocumentName(name: string): string {
function launchDocument(filename: string) {
let fullPath = FileUtils.getPathToDocument(filename);
- console.log(`Attempting to open file: ${fullPath}`);
shell.openItem(fullPath);
}
function launchWebsite(url: string) {
- console.log("Attempting to launch " + url)
shell.openItem(url);
}
\ No newline at end of file