-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtemplate.js
More file actions
125 lines (115 loc) · 5.55 KB
/
Copy pathtemplate.js
File metadata and controls
125 lines (115 loc) · 5.55 KB
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/**
* Template Configuration Guide
* ===========================
*
* Each template MUST have these fixed keys:
*
* REQUIRED KEYS:
* - name: string - Display name of the template
* - path: string - Unique path identifier
* - description: string - Brief description
* - template_id: string - Unique template ID
* - template_version: string - Version number
* - fields: array - Form fields configuration
* - script: string - JavaScript template with {{placeholders}}
*
* OPTIONAL KEYS:
* - image: string - Logo/icon URL
* - note: string - Help text (supports **markdown** for bold)
* - help_link: object - { text, url, label }
* - type: string - Script type (default: 'js')
* - sub_type: string - Script subtype (default: 'inline')
* - position: string - Script position (default: 'head')
* - pages: array - Pages to include (default: ['all'])
* - excludePages: array - Pages to exclude (default: [])
* - attributes: object - Script tag attributes
* - compatible_engines: array - Compatible templating engines
* - field_mappings: object - Internal field name mappings
* - layout: object - Form layout configuration
* - saveButtonDisabled: function - Disable save based on form state
* - category: string - Template category for grouping
*
* For field configuration, see createTemplate.js
*/
// Import all templates
const abTastyTemplate = require('./templates/abTasty');
const adobeAnalyticsTemplate = require('./templates/adobeAnalytics');
const adobeLaunchTemplate = require('./templates/adobeLaunch');
const adobeTargetTemplate = require('./templates/adobeTarget');
const amplitudeTemplate = require('./templates/amplitude');
const clevertapTemplate = require('./templates/clevertap');
const crazyeggTemplate = require('./templates/crazyegg');
const fullstoryTemplate = require('./templates/fullstory');
const ga4Template = require('./templates/ga4');
const gtmTemplate = require('./templates/gtm');
const heapTemplate = require('./templates/heap');
const hotjarTemplate = require('./templates/hotjar');
const intercomTemplate = require('./templates/intercom');
const logrocketTemplate = require('./templates/logrocket');
const mixpanelTemplate = require('./templates/mixpanel');
const moengageTemplate = require('./templates/moengage');
const mouseflowTemplate = require('./templates/mouseflow');
const mparticleTemplate = require('./templates/mparticle');
const notifyvisitorsTemplate = require('./templates/notifyvisitors');
const optimizelyTemplate = require('./templates/optimizely');
const posthogTemplate = require('./templates/posthog');
const metaPixelTemplate = require('./templates/metaPixel');
const pushengageTemplate = require('./templates/pushengage');
const qualarooTemplate = require('./templates/qualaroo');
const quantcastTemplate = require('./templates/quantcast');
const segmentTemplate = require('./templates/segment');
const sentryTemplate = require('./templates/sentry');
const serviceWorkerTemplate = require('./templates/serviceWorker');
const survicateTemplate = require('./templates/survicate');
const totangoTemplate = require('./templates/totango');
const trackjsTemplate = require('./templates/trackjs');
const typeformTemplate = require('./templates/typeform');
const usabillaTemplate = require('./templates/usabilla');
const webengageTemplate = require('./templates/webengage');
const templates = {
items: [
// Analytics
{ template_name: 'gtm', ...gtmTemplate },
{ template_name: 'ga4', ...ga4Template },
// { template_name: 'amplitude', ...amplitudeTemplate },
// { template_name: 'adobeAnalytics', ...adobeAnalyticsTemplate },
// { template_name: 'mixpanel', ...mixpanelTemplate },
// { template_name: 'heap', ...heapTemplate },
// { template_name: 'adobeLaunch', ...adobeLaunchTemplate },
// { template_name: 'segment', ...segmentTemplate },
// { template_name: 'mparticle', ...mparticleTemplate },
// { template_name: 'quantcast', ...quantcastTemplate },
// { template_name: 'posthog', ...posthogTemplate },
{ template_name: 'metaPixel', ...metaPixelTemplate },
// Session Recording & Heatmaps
// { template_name: 'hotjar', ...hotjarTemplate },
// { template_name: 'crazyegg', ...crazyeggTemplate },
// { template_name: 'fullstory', ...fullstoryTemplate },
// { template_name: 'mouseflow', ...mouseflowTemplate },
// { template_name: 'logrocket', ...logrocketTemplate },
// A/B Testing & Personalization
// { template_name: 'optimizely', ...optimizelyTemplate },
// { template_name: 'adobeTarget', ...adobeTargetTemplate },
// { template_name: 'abTasty', ...abTastyTemplate },
// Customer Engagement
// { template_name: 'clevertap', ...clevertapTemplate },
// { template_name: 'moengage', ...moengageTemplate },
// { template_name: 'webengage', ...webengageTemplate },
// { template_name: 'pushengage', ...pushengageTemplate },
// { template_name: 'notifyvisitors', ...notifyvisitorsTemplate },
// { template_name: 'intercom', ...intercomTemplate },
// Surveys & Feedback
// { template_name: 'qualaroo', ...qualarooTemplate },
// { template_name: 'survicate', ...survicateTemplate },
// { template_name: 'typeform', ...typeformTemplate },
// { template_name: 'usabilla', ...usabillaTemplate },
// Customer Success
// { template_name: 'totango', ...totangoTemplate },
// Error Tracking
{ template_name: 'sentry', ...sentryTemplate },
// { template_name: 'trackjs', ...trackjsTemplate }
// Service Workers
{ template_name: 'serviceWorker', ...serviceWorkerTemplate }
]
};
module.exports = templates;