├── .gitattributes ├── .gitignore ├── CODE_OF_CONDUCT.md ├── License.txt ├── Readme.md ├── Readme.txt ├── SPEasyForms.sln ├── SPEasyForms ├── Elements │ ├── SPEasyFormsAssets.xml │ ├── SPEasyFormsAssets │ │ ├── Css │ │ │ ├── images │ │ │ │ ├── SPEasyForms16x16.png │ │ │ │ ├── SPEasyForms32x32.png │ │ │ │ ├── buttons.png │ │ │ │ ├── stars.png │ │ │ │ └── toolbar.png │ │ │ ├── jquery-ui-lilac │ │ │ │ ├── images │ │ │ │ │ ├── ui-bg_diagonals-medium_20_832ebf_40x40.png │ │ │ │ │ ├── ui-bg_gloss-wave_45_5b0679_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_60_832ebf_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_70_5b0679_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_90_fff9e5_500x100.png │ │ │ │ │ ├── ui-bg_highlight-soft_100_efdaf9_1x100.png │ │ │ │ │ ├── ui-bg_inset-soft_30_ffffff_1x100.png │ │ │ │ │ ├── ui-icons_5b0679_256x240.png │ │ │ │ │ ├── ui-icons_832ebf_256x240.png │ │ │ │ │ ├── ui-icons_dd88ff_256x240.png │ │ │ │ │ └── ui-icons_f08bc4_256x240.png │ │ │ │ ├── jquery-ui.css │ │ │ │ └── jquery-ui.theme.css │ │ │ ├── jquery-ui-olive │ │ │ │ ├── images │ │ │ │ │ ├── ui-bg_diagonals-medium_20_4e4e00_40x40.png │ │ │ │ │ ├── ui-bg_gloss-wave_45_4e4e00_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_60_767600_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_70_4e4e00_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_90_fff9e5_500x100.png │ │ │ │ │ ├── ui-bg_highlight-soft_100_cfcfa7_1x100.png │ │ │ │ │ ├── ui-bg_inset-soft_30_ffffff_1x100.png │ │ │ │ │ ├── ui-icons_767600_256x240.png │ │ │ │ │ ├── ui-icons_b6120d_256x240.png │ │ │ │ │ └── ui-icons_d0d050_256x240.png │ │ │ │ ├── jquery-ui.css │ │ │ │ └── jquery-ui.theme.css │ │ │ ├── jquery-ui-redmond │ │ │ │ ├── images │ │ │ │ │ ├── ui-bg_glass_75_d0e5f5_1x400.png │ │ │ │ │ ├── ui-bg_glass_85_dfeffc_1x400.png │ │ │ │ │ ├── ui-bg_glass_95_fef1ec_1x400.png │ │ │ │ │ ├── ui-bg_gloss-wave_55_5c9ccc_500x100.png │ │ │ │ │ ├── ui-bg_inset-hard_100_f5f8f9_1x100.png │ │ │ │ │ ├── ui-bg_inset-hard_100_fcfdfd_1x100.png │ │ │ │ │ ├── ui-icons_217bc0_256x240.png │ │ │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ │ │ ├── ui-icons_469bdd_256x240.png │ │ │ │ │ ├── ui-icons_6da8d5_256x240.png │ │ │ │ │ ├── ui-icons_cd0a0a_256x240.png │ │ │ │ │ ├── ui-icons_d8e7f3_256x240.png │ │ │ │ │ └── ui-icons_f9bd01_256x240.png │ │ │ │ ├── jquery-ui.css │ │ │ │ └── jquery.ui.theme.css │ │ │ ├── jquery-ui-salmon │ │ │ │ ├── images │ │ │ │ │ ├── ui-bg_diagonals-medium_20_d34d17_40x40.png │ │ │ │ │ ├── ui-bg_gloss-wave_45_944c44_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_60_d7665b_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_70_c7665b_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_90_fff9e5_500x100.png │ │ │ │ │ ├── ui-bg_highlight-soft_100_fadad7_1x100.png │ │ │ │ │ ├── ui-bg_inset-soft_30_ffffff_1x100.png │ │ │ │ │ ├── ui-icons_3d3d3d_256x240.png │ │ │ │ │ ├── ui-icons_944c44_256x240.png │ │ │ │ │ ├── ui-icons_b6120d_256x240.png │ │ │ │ │ ├── ui-icons_c7665b_256x240.png │ │ │ │ │ └── ui-icons_faada5_256x240.png │ │ │ │ ├── jquery-ui.css │ │ │ │ └── jquery-ui.theme.css │ │ │ ├── jquery-ui-smoothness │ │ │ │ ├── images │ │ │ │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ │ │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ │ │ ├── ui-bg_glass_75_dadada_1x400.png │ │ │ │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ │ │ │ │ ├── ui-bg_glass_95_fef1ec_1x400.png │ │ │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png │ │ │ │ │ ├── ui-icons_222222_256x240.png │ │ │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ │ │ ├── ui-icons_454545_256x240.png │ │ │ │ │ ├── ui-icons_888888_256x240.png │ │ │ │ │ └── ui-icons_cd0a0a_256x240.png │ │ │ │ ├── jquery-ui.css │ │ │ │ └── jquery-ui.theme.css │ │ │ ├── jquery-ui-sunny │ │ │ │ ├── images │ │ │ │ │ ├── ui-bg_diagonals-medium_20_d34d17_40x40.png │ │ │ │ │ ├── ui-bg_gloss-wave_45_817865_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_60_fece2f_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_70_ffdd57_500x100.png │ │ │ │ │ ├── ui-bg_gloss-wave_90_fff9e5_500x100.png │ │ │ │ │ ├── ui-bg_highlight-soft_100_feeebd_1x100.png │ │ │ │ │ ├── ui-bg_inset-soft_30_ffffff_1x100.png │ │ │ │ │ ├── ui-icons_3d3d3d_256x240.png │ │ │ │ │ ├── ui-icons_bd7b00_256x240.png │ │ │ │ │ ├── ui-icons_d19405_256x240.png │ │ │ │ │ ├── ui-icons_eb990f_256x240.png │ │ │ │ │ ├── ui-icons_ed9f26_256x240.png │ │ │ │ │ ├── ui-icons_fadc7a_256x240.png │ │ │ │ │ └── ui-icons_ffe180_256x240.png │ │ │ │ ├── jquery-ui.css │ │ │ │ └── jquery-ui.theme.css │ │ │ ├── jquery.cleditor.css │ │ │ └── speasyforms.css │ │ ├── Help │ │ │ ├── Images │ │ │ │ ├── Download.png │ │ │ │ ├── Download_002.png │ │ │ │ ├── Download_003.png │ │ │ │ ├── Download_004.png │ │ │ │ ├── Download_005.png │ │ │ │ ├── Download_006.png │ │ │ │ ├── Download_007.png │ │ │ │ ├── Download_008.png │ │ │ │ ├── Download_009.png │ │ │ │ ├── Download_010.png │ │ │ │ ├── Download_011.png │ │ │ │ ├── Download_012.png │ │ │ │ ├── Download_013.png │ │ │ │ ├── Download_014.png │ │ │ │ ├── Download_015.png │ │ │ │ ├── Download_016.png │ │ │ │ ├── Download_017.png │ │ │ │ ├── Download_018.png │ │ │ │ ├── Download_019.png │ │ │ │ ├── Download_020.png │ │ │ │ ├── Download_021.png │ │ │ │ ├── Download_022.png │ │ │ │ ├── Download_023.png │ │ │ │ ├── Download_024.png │ │ │ │ ├── Download_025.png │ │ │ │ ├── Download_026.png │ │ │ │ ├── Download_027.png │ │ │ │ ├── Download_028.png │ │ │ │ ├── Download_029.png │ │ │ │ ├── Download_030.png │ │ │ │ ├── Download_031.png │ │ │ │ ├── Download_032.png │ │ │ │ ├── Download_033.png │ │ │ │ ├── Download_034.png │ │ │ │ ├── Download_035.png │ │ │ │ ├── Download_036.png │ │ │ │ ├── Download_037.png │ │ │ │ ├── Download_038.png │ │ │ │ ├── Download_039.png │ │ │ │ ├── Download_040.png │ │ │ │ ├── Download_041.png │ │ │ │ ├── Download_042.png │ │ │ │ ├── Download_043.png │ │ │ │ ├── Download_044.png │ │ │ │ ├── Download_045.png │ │ │ │ ├── Download_046.png │ │ │ │ ├── Download_047.png │ │ │ │ ├── Download_048.png │ │ │ │ ├── Download_049.png │ │ │ │ ├── Download_050.png │ │ │ │ ├── Download_051.png │ │ │ │ ├── Download_052.png │ │ │ │ ├── Download_053.png │ │ │ │ ├── Download_054.png │ │ │ │ ├── Download_055.png │ │ │ │ ├── Download_056.png │ │ │ │ ├── Download_057.png │ │ │ │ ├── Download_058.png │ │ │ │ ├── Download_059.png │ │ │ │ ├── Download_060.png │ │ │ │ ├── Download_061.png │ │ │ │ ├── Download_062.png │ │ │ │ ├── Download_063.png │ │ │ │ ├── Download_064.png │ │ │ │ ├── Download_065.png │ │ │ │ ├── Download_066.png │ │ │ │ ├── Download_067.png │ │ │ │ ├── Download_068.png │ │ │ │ ├── Download_069.png │ │ │ │ ├── Download_070.png │ │ │ │ ├── Download_071.png │ │ │ │ ├── Download_072.png │ │ │ │ ├── Download_073.png │ │ │ │ ├── Download_074.png │ │ │ │ ├── Download_075.png │ │ │ │ ├── Download_076.png │ │ │ │ ├── Download_077.png │ │ │ │ ├── Download_078.png │ │ │ │ ├── Download_079.png │ │ │ │ ├── Download_080.png │ │ │ │ ├── Download_081.png │ │ │ │ ├── Download_082.png │ │ │ │ ├── Download_083.png │ │ │ │ ├── Download_084.png │ │ │ │ ├── Download_085.png │ │ │ │ ├── Download_086.png │ │ │ │ ├── Download_087.png │ │ │ │ ├── Download_088.png │ │ │ │ ├── Download_089.png │ │ │ │ ├── Download_090.png │ │ │ │ ├── Download_091.png │ │ │ │ ├── Download_092.png │ │ │ │ ├── Download_093.png │ │ │ │ ├── Download_094.png │ │ │ │ ├── Download_095.png │ │ │ │ ├── Download_096.png │ │ │ │ ├── Download_097.png │ │ │ │ ├── Download_098.png │ │ │ │ ├── Download_099.png │ │ │ │ ├── Download_100.png │ │ │ │ ├── Download_101.png │ │ │ │ ├── Download_102.png │ │ │ │ ├── Download_103.png │ │ │ │ ├── Download_104.png │ │ │ │ ├── Download_105.png │ │ │ │ ├── Download_106.png │ │ │ │ ├── Download_107.png │ │ │ │ ├── Download_108.png │ │ │ │ ├── Download_109.png │ │ │ │ ├── Download_110.png │ │ │ │ ├── Download_111.png │ │ │ │ └── bullet_blue.png │ │ │ └── speasyforms_help.aspx │ │ ├── JavaScript │ │ │ ├── MicrosoftAjax.js │ │ │ ├── adap.autocompleteAdapter.js │ │ │ ├── adap.cascadingLookupAdapter.js │ │ │ ├── adap.defaultToCurrentUserAdapter.js │ │ │ ├── adap.lookupDetailAdapter.js │ │ │ ├── adap.starRatingAdapter.js │ │ │ ├── adapterCollection.js │ │ │ ├── configManager.js │ │ │ ├── cont.accordion.js │ │ │ ├── cont.baseContainer.js │ │ │ ├── cont.columns.js │ │ │ ├── cont.defaultContainer.js │ │ │ ├── cont.fieldCollection.js │ │ │ ├── cont.htmlSnippet.js │ │ │ ├── cont.stack.js │ │ │ ├── cont.tabs.js │ │ │ ├── cont.wizard.js │ │ │ ├── containerCollection.js │ │ │ ├── jquery-ui.js │ │ │ ├── jquery-ui.nestedsortable.js │ │ │ ├── jquery.SPEasyForms.js │ │ │ ├── jquery.SPEasyForms.min.js │ │ │ ├── jquery.SPEasyForms.min.js.map │ │ │ ├── jquery.SPEasyFormsInstance.js │ │ │ ├── jquery.SPServices.js │ │ │ ├── jquery.bundle.js │ │ │ ├── jquery.bundle.min.js │ │ │ ├── jquery.bundle.min.js.map │ │ │ ├── jquery.cleditor.js │ │ │ ├── jquery.cleditor.sharepoint.js │ │ │ ├── jquery.cleditor.xhtml.js │ │ │ ├── jquery.js │ │ │ ├── sharePoinFieldRows.js │ │ │ ├── sharePointContext.js │ │ │ ├── ssw.js │ │ │ ├── utilities.js │ │ │ └── visibilityRuleCollection.js │ │ ├── Pages │ │ │ ├── SPEasyFormsSettings.aspx │ │ │ ├── SPEasyFormsSettings.css │ │ │ ├── SPEasyFormsSettingsVerbose.aspx │ │ │ ├── SPEasyFormsSiteSettings.aspx │ │ │ └── menu.png │ │ ├── SPEasyFormsInstaller.aspx │ │ └── SPEasyForms_DefaultSettings.js │ ├── SPEasyFormsCustomActions.xml │ ├── SPEasyFormsScriptLinks.Debug.xml │ ├── SPEasyFormsScriptLinks.Release.xml │ └── SPEasyFormsScriptLinks.xml ├── Features │ └── SPEasyForms │ │ └── Feature.xml ├── Package │ ├── Build.bat │ ├── CreateVerboseSettingsPage.ps1 │ ├── Manifest.xml │ ├── Package.ddf │ └── SPEasyForms.wsp ├── SPEasyForms.csproj └── bundleconfig.json └── WebEssentials2015-Settings.json /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # Visual Studio 2015/2017 cache/options directory 5 | .vs/ 6 | 7 | # User-specific files 8 | *.suo 9 | *.user 10 | *.sln.docstates 11 | 12 | # Build results 13 | 14 | [Dd]ebug/ 15 | [Rr]elease/ 16 | x64/ 17 | build/ 18 | [Bb]in/ 19 | [Oo]bj/ 20 | 21 | # Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets 22 | !packages/*/build/ 23 | 24 | # MSTest test Results 25 | [Tt]est[Rr]esult*/ 26 | [Bb]uild[Ll]og.* 27 | 28 | *_i.c 29 | *_p.c 30 | *.ilk 31 | *.meta 32 | *.obj 33 | *.pch 34 | *.pdb 35 | *.pgc 36 | *.pgd 37 | *.rsp 38 | *.sbr 39 | *.tlb 40 | *.tli 41 | *.tlh 42 | *.tmp 43 | *.tmp_proj 44 | *.log 45 | *.vspscc 46 | *.vssscc 47 | .builds 48 | *.pidb 49 | *.log 50 | *.scc 51 | *.inf 52 | *.rpt 53 | *.wsp; 54 | 55 | # Visual C++ cache files 56 | ipch/ 57 | *.aps 58 | *.ncb 59 | *.opensdf 60 | *.sdf 61 | *.cachefile 62 | 63 | # Visual Studio profiler 64 | *.psess 65 | *.vsp 66 | *.vspx 67 | 68 | # Guidance Automation Toolkit 69 | *.gpState 70 | 71 | # ReSharper is a .NET coding add-in 72 | _ReSharper*/ 73 | *.[Rr]e[Ss]harper 74 | 75 | # TeamCity is a build add-in 76 | _TeamCity* 77 | 78 | # DotCover is a Code Coverage Tool 79 | *.dotCover 80 | 81 | # NCrunch 82 | *.ncrunch* 83 | .*crunch*.local.xml 84 | 85 | # Installshield output folder 86 | [Ee]xpress/ 87 | 88 | # DocProject is a documentation generator add-in 89 | DocProject/buildhelp/ 90 | DocProject/Help/*.HxT 91 | DocProject/Help/*.HxC 92 | DocProject/Help/*.hhc 93 | DocProject/Help/*.hhk 94 | DocProject/Help/*.hhp 95 | DocProject/Help/Html2 96 | DocProject/Help/html 97 | 98 | # Click-Once directory 99 | publish/ 100 | 101 | # Publish Web Output 102 | *.Publish.xml 103 | 104 | # NuGet Packages Directory 105 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line 106 | #packages/ 107 | 108 | # Windows Azure Build Output 109 | csx 110 | *.build.csdef 111 | 112 | # Windows Store app package directory 113 | AppPackages/ 114 | 115 | # Others 116 | sql/ 117 | *.Cache 118 | ClientBin/ 119 | [Ss]tyle[Cc]op.* 120 | ~$* 121 | *~ 122 | *.dbmdl 123 | *.[Pp]ublish.xml 124 | *.pfx 125 | *.publishsettings 126 | 127 | # RIA/Silverlight projects 128 | Generated_Code/ 129 | 130 | # Backup & report files from converting an old project file to a newer 131 | # Visual Studio version. Backup files are not needed, because we have git ;-) 132 | _UpgradeReport_Files/ 133 | Backup*/ 134 | UpgradeLog*.XML 135 | UpgradeLog*.htm 136 | 137 | # SQL Server files 138 | App_Data/*.mdf 139 | App_Data/*.ldf 140 | 141 | 142 | #LightSwitch generated files 143 | GeneratedArtifacts/ 144 | _Pvt_Extensions/ 145 | ModelManifest.xml 146 | 147 | # ========================= 148 | # Windows detritus 149 | # ========================= 150 | 151 | # Windows image file caches 152 | Thumbs.db 153 | ehthumbs.db 154 | 155 | # Folder config file 156 | Desktop.ini 157 | 158 | # Recycle Bin used on file shares 159 | $RECYCLE.BIN/ 160 | 161 | # Mac desktop service store files 162 | .DS_Store 163 | 164 | *.partial 165 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | ## 1. Purpose 4 | 5 | A primary goal of SPEasyForms is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof). 6 | 7 | This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior. 8 | 9 | We invite all those who participate in SPEasyForms to help us create safe and positive experiences for everyone. 10 | 11 | ## 2. Open Source Citizenship 12 | 13 | A supplemental goal of this Code of Conduct is to increase open source citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community. 14 | 15 | Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society. 16 | 17 | If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know. 18 | 19 | ## 3. Expected Behavior 20 | 21 | The following behaviors are expected and requested of all community members: 22 | 23 | * Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. 24 | * Exercise consideration and respect in your speech and actions. 25 | * Attempt collaboration before conflict. 26 | * Refrain from demeaning, discriminatory, or harassing behavior and speech. 27 | * Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential. 28 | * Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations. 29 | 30 | ## 4. Unacceptable Behavior 31 | 32 | The following behaviors are considered harassment and are unacceptable within our community: 33 | 34 | * Violence, threats of violence or violent language directed against another person. 35 | * Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language. 36 | * Posting or displaying sexually explicit or violent material. 37 | * Posting or threatening to post other people’s personally identifying information ("doxing"). 38 | * Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. 39 | * Inappropriate photography or recording. 40 | * Inappropriate physical contact. You should have someone’s consent before touching them. 41 | * Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances. 42 | * Deliberate intimidation, stalking or following (online or in person). 43 | * Advocating for, or encouraging, any of the above behavior. 44 | * Sustained disruption of community events, including talks and presentations. 45 | 46 | ## 5. Consequences of Unacceptable Behavior 47 | 48 | Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated. 49 | 50 | Anyone asked to stop unacceptable behavior is expected to comply immediately. 51 | 52 | If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event). 53 | 54 | ## 6. Reporting Guidelines 55 | 56 | If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. joseph.mcshea@gmail.com. 57 | 58 | 59 | 60 | ## 7. Addressing Grievances 61 | 62 | If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify Mcsheaj with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies. 63 | 64 | 65 | 66 | ## 8. Scope 67 | 68 | We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues–online and in-person–as well as in all one-on-one communications pertaining to community business. 69 | 70 | This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members. 71 | 72 | ## 9. Contact info 73 | 74 | joseph.mcshea@gmail.com 75 | 76 | ## 10. License and attribution 77 | 78 | This Code of Conduct is distributed under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). 79 | 80 | Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy). 81 | 82 | Retrieved on November 22, 2016 from [http://citizencodeofconduct.org/](http://citizencodeofconduct.org/) 83 | -------------------------------------------------------------------------------- /License.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2014-2018 Joe McShea 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 | [Donload the latest release from https://speasyforms.intellipointsol.com](http://speasyforms.intellipointsol.com/sdm_downloads/speasyforms-2018-04/) 2 | 3 | Full documentation is available on [speasyforms.intellipointsol.com](https://speasyforms.intellipointsol.com/Help/speasyforms_help.html). 4 | 5 | ### Latest Release is 2018.04, which fixes: 6 | 7 | [Issue 81: SharePoint list dialog height gets shortened](https://github.com/mcsheaj/SPEasyForms/issues/81) 8 | 9 | ##### Fixed in 2018.03: 10 | 11 | [Issue 78: PreSaveAction does not get called on forms with SPEasyForms configuration](https://github.com/mcsheaj/SPEasyForms/issues/78) 12 | 13 | [Issue 79: jQuery.noconflict does not always resolve conflicts with other versions of jQuery loaded](https://github.com/mcsheaj/SPEasyForms/issues/79) 14 | 15 | ##### Fixed in 2018.02: 16 | 17 | [Issue 75: Form is being submitted without any validation, SP2013 and Later](https://github.com/mcsheaj/SPEasyForms/issues/75) 18 | 19 | ##### Fixed in 2018.01: 20 | 21 | [Issue 59: Visibility based on the value of a field is only available for fields in the default content type](https://github.com/mcsheaj/SPEasyForms/issues/59) 22 | 23 | [Issue 68: Date / Time Field shows Date only in Read-Only mode on Edit Form (non en-us sites)](https://github.com/mcsheaj/SPEasyForms/issues/68) 24 | 25 | [Issue 69: Managed meta data in read only mode shows term and guid](https://github.com/mcsheaj/SPEasyForms/issues/69) 26 | 27 | [Issue 70: Add lists to an HTML Snippet Container causes the editor to come blank on subsequent page loads](https://github.com/mcsheaj/SPEasyForms/issues/70) 28 | 29 | [Issue 73: Fields in foreign lists do not load when the foreign list allows management of content types (affects cascading lookups, autocomplete, and lookup detail)](https://github.com/mcsheaj/SPEasyForms/issues/73) 30 | 31 | ##### Fixed in 2015.01.07: 32 | 33 | [Issue 58: Error cannot call get_childDialog on undefined](https://github.com/mcsheaj/SPEasyForms/issues/58) 34 | 35 | [Issue 61: When attaching files it won't save on sites with Minimal Download Strategy (MDS) enabled](https://github.com/mcsheaj/SPEasyForms/issues/61) 36 | 37 | [Issue 63: Dialog explaining that old rich text fields are not supported does not work on SP 2013 or earlier](https://github.com/mcsheaj/SPEasyForms/issues/63) 38 | 39 | ##### Fixed in 2015.01.06: 40 | 41 | [Issue 55: Form rendering issue in dialogs when using SPEasyForms](https://speasyforms.codeplex.com/workitem/55) 42 | 43 | ##### Fixed in 2015.01.05: 44 | 45 | [Issue 54: Some forms will not submit](https://speasyforms.codeplex.com/workitem/54) 46 | 47 | ##### Fixed in 2015.01.04: 48 | 49 | [Issue 52: SPEasyForms is unnecessarily invasive on forms for lists which have no configuration](https://speasyforms.codeplex.com/workitem/52) 50 | 51 | [Issue 53: Conflicts with PreSaveAction](https://speasyforms.codeplex.com/workitem/53) 52 | 53 | ##### Fixed in 2015.01.03: 54 | 55 | [Issue 49: Old Rich Text fields lose data (sometimes?)](https://speasyforms.codeplex.com/workitem/49) 56 | 57 | [Issue 50: Matches CurrentUser does not work in validation rules](https://speasyforms.codeplex.com/workitem/50) 58 | 59 | ##### Fixed in 2015.01.02: 60 | 61 | [Issue 44: jQuery-UI Theme is Loaded on All Pages](https://speasyforms.codeplex.com/workitem/44) 62 | 63 | [Issue 45: People Picker Required Fields Show 'You must specify a value' Message On Form Load (2010 only)](https://speasyforms.codeplex.com/workitem/45) 64 | 65 | [Issue 46: SharePoint 2010 forms do not submit](https://speasyforms.codeplex.com/workitem/46) 66 | 67 | ##### Fixed in 2015.01.01: 68 | 69 | [Issue 40: Themes do not work on a root site collection](https://speasyforms.codeplex.com/workitem/40) 70 | 71 | [Issue 41: 404 error for SPEasyFormsSiteSettings.aspx](https://speasyforms.codeplex.com/workitem/41) 72 | 73 | ##### What's new in v2015.01 74 | 75 | 1. Added a Client Side Rendering (CSR) hook to hide the form until SPEasyForms has done it's work, making the page load less jumpy. Note that CSR was introduced in SharePoint 2013, so this does nothing in SharePoint 2010. To achieve the same result in 2010, you need to modify the master page (see 'Why is my form so jumpy?' in the SPEasyForms blog for more information). 76 | 2. The ability to specify the jQuery UI theme to be used site collection wide or at the list level. There's a page on the editor where you can choose between the 6 themes I've included, or you can upload your own theme to anywhere in SharePoint (or even not in SharePoint) and just point me to the style sheet and I'll use your theme, allowing you to use any of the gallery themes from the jQuery UI site or their tools to roll your own theme. 77 | 3. The biggest change in this version is the ability rearrange more or less everything through drag and drop. In the previous version, you could drag and drop containers and fields. You can now drag and drop collections of fields, for instance you can reorder the tabs in a tabs container, or even move a tab over to an accordion which now makes it an accordion page. You can also nest containers, so you can drag an accordion onto a tabs container, making it a tabs container that has an accordion on one of its tab stops. There are some limitations, which I cover in the user manual. 78 | 4. Also, I've gotten rid of the master page on my settings page. I used to use the default master for the site. This caused a lot of compatibility issues between SharePoint 2010 and 2013/Online. Having to live with the IE 8 compatibility setting that's standard in the 2010 master page meant I have to water down the interface some for 2010 to get everything to work. Now I can use straight-up HTML 5 on all platforms, which is a big improvement. Also, one of the more common problems people had with the previous version was that they had a highly customized master page which effectively scramble the interface of SPEasyForms beyond usability. Since I'm no longer using your master page, that problem should go away. 79 | 5. All of this rework has also yielded significant performance improvements in the editor. Without the master page, it loads much quicker, it doesn't freeze up as often or as long on intense redraw operations like drag and drop or undo/redo. 80 | 6. Updated my third party libraries to their latest stable release. In the case of jQuery and jQuery-UI, that's the latest 1.x release. 81 | 7. Rolled up all previous updates to 2014.01 into the baseline. 82 | 83 | The complete list of customizations supported, old and new, is now: 84 | 85 | * Containers: the ability to organize fields in a form in some way; current implementations include: Tabs: an implementation of jQueryUI tabs 86 | - Accordion: an implementation of jQueryUI Accordion 87 | - Columns: the ability to put fields or containers into 2 or more columns instead of one per row (technically, one or more, but one column doesn't really buy you much) 88 | - Stack (NEW!): allows you to stack 2 or more containers on top of each other, so you can put multiple containers onto a single tab or accordion page. 89 | - Wizard (NEW!): a specialty container that allows users to page through containers using next and previous buttons. 90 | - HTML Snippet (NEW!): a specialty container, that doesn't actually hold any fields, but allows you to inject arbitrary HTML into the page, including referencing external scripts and style sheets. 91 | * Conditional Visibility: conditionally format a field: 92 | - Based on various conditions like: 93 | + Membership in a SharePoint group 94 | + Which form is open (i.e. the new, edit or display form) 95 | + Comparing the values of other fields based on various comparison operators (i.e. make this field read only when the Color field is equal to Red), comparison operators include: 96 | * Equals: equals a string literal 97 | * Matches: matches a JavaScript regular expression 98 | * NotMatches: does not match a JavaScript regular expression 99 | * GreaterThan (NEW!): greater than a string literal 100 | * GreaterThanOrEquals (NEW!): greater than or equals to a string literal 101 | * LessThan (NEW!): less than a string literal 102 | * LessThanOrEquals (NEW!): less than or equals a string literal 103 | * NotEquals (NEW!): is not equal to a string literal 104 | - Formatting Options: 105 | + Hiding a field completely 106 | + Making a field read-only 107 | + Highlighting a field in one of four colors (NEW!) 108 | * Field Control Adapters: modify the controls users see in the form to input data; current implementations include: 109 | 110 | - Cascading Look Ups: join two look up fields such that the values available in one look up are trimmed based on the value selected in another look up 111 | - Autocomplete: provide type ahead functionality in a text field based on values pulled from a field in another list on the same site 112 | - Lookup Detail (NEW!): allows you to pull in additional fields from a lookup list based on the value selected in a lookup field. 113 | - Default to Current User (NEW!): pre-populate a user field with the current user on the new form. 114 | - Star Rating Adapter (NEW!): can be applied to numeric fields. Fields are displayed as five stars and edited by clicking on one of the stars. 115 | 116 | *All comparison operators ignore case 117 | 118 | ** All comparison operators except Matches/NotMatches will check if both operands are valid dates and use date comparison, check if both operands are valid numbers and use numeric comparison second, and lastly use string comparison 119 | 120 | Most of the things marked (NEW!) were actually released in the updates package to v2014.01. The Stack and Star Ratings Adapter are actually brand new. 121 | -------------------------------------------------------------------------------- /Readme.txt: -------------------------------------------------------------------------------- 1 | SPEasyForms is a no code sandbox solution for Office 365, and 2 | SharePoint 2013 and 2010. It was developed using Visual Studio Ultimate 3 | (Update 3), but Visual Studio is not required to build it (with the 4 | folowing caveats). 5 | 6 | The build is just a batch file in the Package directory called 7 | Build.bat. Build.bat requires makecab.exe to be on the system and 8 | in the PATH (this is true by default on most modern Windows systems). 9 | If you just double click Build.bat, it will build the Debug solution 10 | (javascript is not bundled or minified). 11 | 12 | Build.bat takes one optional argument, a ConfigurationName, which it 13 | expects to be either Debug or Release. It then packages the wsp with 14 | the appropriate ScriptLinks.xml to load either the individual javascript 15 | modules or the bundled/minifed version. Building the solution in 16 | Visual Studio calls Build.bat and passes the ConfigurationName so the 17 | Debug and Release builds do what one would expect automatically. 18 | 19 | Note: the only real dependency on Visual Studio, and Web Essentials for 20 | Visual Studio, is that the release build loads a bundled/minified 21 | version of the JavaScript from 22 | SPEasyFormsAssets/JavaScript/jquery.SPEasyForms.min.js, which Web 23 | Essentials updates automatically whenever one of the non-minified 24 | javascript files is updated in Visual Studio. If you want to make 25 | changes and build the project, and you don't want to use or don't 26 | have Visual Studio, updating the minified bundle is now your problem. 27 | If you only want to play around and deploy debug builds, you can 28 | ignore this. 29 | -------------------------------------------------------------------------------- /SPEasyForms.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{E7E0B2A7-A7F5-447F-A3EE-1E5192D75E4D}" 7 | ProjectSection(SolutionItems) = preProject 8 | License.txt = License.txt 9 | Readme.txt = Readme.txt 10 | WebEssentials2015-Settings.json = WebEssentials2015-Settings.json 11 | EndProjectSection 12 | EndProject 13 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SPEasyForms", "SPEasyForms\SPEasyForms.csproj", "{CC09E273-AB49-4BF4-981B-89B593162B9B}" 14 | EndProject 15 | Global 16 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 17 | Debug|Any CPU = Debug|Any CPU 18 | Release|Any CPU = Release|Any CPU 19 | EndGlobalSection 20 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 21 | {CC09E273-AB49-4BF4-981B-89B593162B9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 22 | {CC09E273-AB49-4BF4-981B-89B593162B9B}.Debug|Any CPU.Build.0 = Debug|Any CPU 23 | {CC09E273-AB49-4BF4-981B-89B593162B9B}.Release|Any CPU.ActiveCfg = Release|Any CPU 24 | {CC09E273-AB49-4BF4-981B-89B593162B9B}.Release|Any CPU.Build.0 = Release|Any CPU 25 | EndGlobalSection 26 | GlobalSection(SolutionProperties) = preSolution 27 | HideSolutionNode = FALSE 28 | EndGlobalSection 29 | EndGlobal 30 | -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/images/SPEasyForms16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/images/SPEasyForms16x16.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/images/SPEasyForms32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/images/SPEasyForms32x32.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/images/buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/images/buttons.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/images/stars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/images/stars.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/images/toolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/images/toolbar.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_diagonals-medium_20_832ebf_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_diagonals-medium_20_832ebf_40x40.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_gloss-wave_45_5b0679_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_gloss-wave_45_5b0679_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_gloss-wave_60_832ebf_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_gloss-wave_60_832ebf_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_gloss-wave_70_5b0679_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_gloss-wave_70_5b0679_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_gloss-wave_90_fff9e5_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_gloss-wave_90_fff9e5_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_highlight-soft_100_efdaf9_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_highlight-soft_100_efdaf9_1x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_inset-soft_30_ffffff_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-bg_inset-soft_30_ffffff_1x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-icons_5b0679_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-icons_5b0679_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-icons_832ebf_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-icons_832ebf_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-icons_dd88ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-icons_dd88ff_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-icons_f08bc4_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-lilac/images/ui-icons_f08bc4_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_diagonals-medium_20_4e4e00_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_diagonals-medium_20_4e4e00_40x40.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_gloss-wave_45_4e4e00_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_gloss-wave_45_4e4e00_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_gloss-wave_60_767600_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_gloss-wave_60_767600_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_gloss-wave_70_4e4e00_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_gloss-wave_70_4e4e00_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_gloss-wave_90_fff9e5_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_gloss-wave_90_fff9e5_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_highlight-soft_100_cfcfa7_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_highlight-soft_100_cfcfa7_1x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_inset-soft_30_ffffff_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-bg_inset-soft_30_ffffff_1x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-icons_767600_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-icons_767600_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-icons_b6120d_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-icons_b6120d_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-icons_d0d050_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-olive/images/ui-icons_d0d050_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-bg_glass_75_d0e5f5_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-bg_glass_75_d0e5f5_1x400.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-bg_glass_85_dfeffc_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-bg_glass_85_dfeffc_1x400.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_217bc0_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_217bc0_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_469bdd_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_469bdd_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_6da8d5_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_6da8d5_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_d8e7f3_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_d8e7f3_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_f9bd01_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-redmond/images/ui-icons_f9bd01_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_diagonals-medium_20_d34d17_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_diagonals-medium_20_d34d17_40x40.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_gloss-wave_45_944c44_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_gloss-wave_45_944c44_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_gloss-wave_60_d7665b_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_gloss-wave_60_d7665b_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_gloss-wave_70_c7665b_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_gloss-wave_70_c7665b_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_gloss-wave_90_fff9e5_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_gloss-wave_90_fff9e5_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_highlight-soft_100_fadad7_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_highlight-soft_100_fadad7_1x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_inset-soft_30_ffffff_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-bg_inset-soft_30_ffffff_1x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-icons_3d3d3d_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-icons_3d3d3d_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-icons_944c44_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-icons_944c44_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-icons_b6120d_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-icons_b6120d_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-icons_c7665b_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-icons_c7665b_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-icons_faada5_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-salmon/images/ui-icons_faada5_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-icons_888888_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-icons_888888_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-smoothness/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_diagonals-medium_20_d34d17_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_diagonals-medium_20_d34d17_40x40.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_gloss-wave_45_817865_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_gloss-wave_45_817865_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_gloss-wave_60_fece2f_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_gloss-wave_60_fece2f_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_gloss-wave_70_ffdd57_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_gloss-wave_70_ffdd57_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_gloss-wave_90_fff9e5_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_gloss-wave_90_fff9e5_500x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_highlight-soft_100_feeebd_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_highlight-soft_100_feeebd_1x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_inset-soft_30_ffffff_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-bg_inset-soft_30_ffffff_1x100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_3d3d3d_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_3d3d3d_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_bd7b00_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_bd7b00_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_d19405_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_d19405_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_eb990f_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_eb990f_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_ed9f26_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_ed9f26_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_fadc7a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_fadc7a_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_ffe180_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery-ui-sunny/images/ui-icons_ffe180_256x240.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/jquery.cleditor.css: -------------------------------------------------------------------------------- 1 | .cleditorMain {border:1px solid #999; padding:0 1px 1px; background-color:white} 2 | .cleditorMain, 3 | .cleditorPopup, 4 | .cleditorMain * {-moz-box-sizing:content-box; -webkit-box-sizing:content-box; box-sizing:content-box} 5 | .cleditorMain iframe {border:none; margin:0; padding:0} 6 | .cleditorMain textarea {overflow-y:scroll; font:10pt Arial,Verdana; resize:none; outline:none} 7 | .cleditorToolbar {background: rgb(243,243,243) url('image/toolbar.png') repeat; height: 25px;} 8 | .cleditorGroup {float:left; height:24px} 9 | .cleditorButton {float:left; width:22px; height:22px; margin:1px 0 1px 0; background-image: url('images/buttons.png')} 10 | .cleditorButtonSelected {float:left; width:22px; height:22px; margin:1px 0 1px 0; background: #fc9 url('images/buttons.png') no-repeat !important} 11 | .cleditorDisabled {opacity:0.3; filter:alpha(opacity=30)} 12 | .cleditorDivider {float:left; width:1px; height:23px; margin:1px 0 1px 0; background:#CCC} 13 | .cleditorPopup {border:solid 1px #999; background-color:white; color:#333333; position:absolute; font:10pt Arial,Verdana; cursor:default; z-index:10000} 14 | .cleditorList div {padding:2px 4px 2px 4px} 15 | .cleditorList p, 16 | .cleditorList h1, 17 | .cleditorList h2, 18 | .cleditorList h3, 19 | .cleditorList h4, 20 | .cleditorList h5, 21 | .cleditorList h6, 22 | .cleditorList font {padding:0; margin:0; background-color:Transparent} 23 | .cleditorColor {width:150px; padding:1px 0 0 1px} 24 | .cleditorColor div {float:left; width:14px; height:14px; margin:0 1px 1px 0} 25 | .cleditorPrompt {background-color:#F6F7F9; padding:8px; font-size:8.5pt} 26 | .cleditorPrompt label {padding-bottom:8px} 27 | .cleditorMsg {background-color:#FDFCEE; width:150px; padding:4px; font-size:8.5pt} -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Css/speasyforms.css: -------------------------------------------------------------------------------- 1 | h3.speasyforms-columnsheader { 2 | margin-top: 2px; 3 | } 4 | 5 | .ui-widget select { 6 | font-size: 11px; 7 | } 8 | 9 | .speasyforms-wizard .ms-formbody { 10 | background: transparent; 11 | border-top: 0px; 12 | } 13 | 14 | .ui-tabs-nav { 15 | width: 99% !important; 16 | } 17 | 18 | .ui-tabs .ui-tabs-panel { 19 | padding: .7em .7em; 20 | } 21 | 22 | .speasyforms-columncell .ms-long { 23 | width: 225px; 24 | } 25 | 26 | .speasyforms-columncell .ms-rtefield { 27 | width: 250px; 28 | min-width: 250px; 29 | } 30 | 31 | .speasyforms-columncell .sp-peoplepicker-topLevel, 32 | .speasyforms-columncell .sp-peoplepicker-topLevelDisabled, 33 | .speasyforms-columncell .ms-usereditor { 34 | width: 250px; 35 | } 36 | 37 | .speasyforms-columncell select[multiple='multiple'] { 38 | width: 136px !important; 39 | } 40 | 41 | table.speasyforms-columns, table.speasyforms-columns h3.ms-standardheader, table.speasyforms-columns td.ms-formbody { 42 | margin: 0; 43 | padding: 0; 44 | } 45 | 46 | .speasyforms-columnheader { 47 | margin-bottom: 5px; 48 | padding-bottom: 0; 49 | font-weight: bold; 50 | } 51 | 52 | table.speasyforms-columns td { 53 | vertical-align: top; 54 | } 55 | 56 | a.speasyforms-tabvalidationerror { 57 | border-top: 2px dashed red !important; 58 | border-left: 2px dashed red !important; 59 | border-right: 2px dashed red !important; 60 | } 61 | 62 | h3.speasyforms-accordionvalidationerror { 63 | border: 2px dashed red !important; 64 | } 65 | 66 | .ms-formlabel { 67 | padding: 0; 68 | } 69 | 70 | .ms-formbody { 71 | padding: .1em; 72 | } 73 | 74 | #spEasyFormsContainersPre, 75 | #spEasyFormsContainersPost { 76 | width: 800px; 77 | } 78 | 79 | .speasyforms-stars { 80 | width: 110px; 81 | height: 20px; 82 | background-image: url(images/stars.png); 83 | background-position: left top; 84 | } 85 | 86 | .speasyforms-starsslider { 87 | width: 110px; 88 | height: 20px; 89 | background: transparent; 90 | border: none; 91 | } 92 | 93 | .speasyforms-starsslider .ui-slider { 94 | background: transparent; 95 | border: none; 96 | } 97 | 98 | .speasyforms-starsslider .ui-widget-header { 99 | background: transparent; 100 | } 101 | 102 | .speasyforms-starsslider .ui-state-default { 103 | border: none; 104 | background: transparent; 105 | height: 0; 106 | width: 0; 107 | } 108 | 109 | .ms-error, .ms-formvalidation { 110 | font-family: Lucida Grande,Lucida Sans,Arial,sans-serif; 111 | font-size: 0.8rem; 112 | } 113 | 114 | div.speasyforms-wizard-outer { 115 | margin: 10px; 116 | } 117 | 118 | h3.speasyforms-wizard { 119 | padding: 5px; 120 | } 121 | 122 | div.speasyforms-wizard { 123 | padding: 10px; 124 | } 125 | 126 | table.speasyforms-fieldcollection { 127 | border-spacing: 5px; 128 | width: 100%; 129 | } 130 | 131 | table.speasyforms-fieldcollection td { 132 | padding: 3px 0 !important; 133 | } 134 | 135 | .speasyforms-container .speasyforms-container{ 136 | width: 98%; 137 | margin: 0 auto; 138 | } 139 | 140 | div.speasyforms-tabs, 141 | div.speasyforms-accordion { 142 | width: 98%; 143 | margin: 10px auto 20px auto; 144 | } 145 | 146 | .ui-dialog { 147 | z-index: 101; 148 | } -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_002.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_003.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_004.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_005.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_006.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_007.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_008.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_009.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_010.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_011.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_012.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_013.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_014.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_015.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_016.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_017.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_018.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_019.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_020.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_021.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_022.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_023.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_024.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_025.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_026.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_026.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_027.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_027.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_028.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_029.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_030.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_031.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_032.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_033.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_034.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_035.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_036.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_036.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_037.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_037.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_038.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_038.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_039.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_039.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_040.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_040.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_041.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_041.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_042.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_042.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_043.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_043.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_044.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_044.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_045.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_045.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_046.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_046.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_047.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_047.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_048.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_049.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_049.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_050.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_050.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_051.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_051.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_052.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_052.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_053.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_053.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_054.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_054.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_055.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_055.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_056.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_056.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_057.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_057.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_058.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_058.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_059.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_059.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_060.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_060.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_061.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_061.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_062.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_062.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_063.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_063.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_064.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_064.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_065.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_065.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_066.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_066.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_067.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_067.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_068.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_068.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_069.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_069.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_070.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_070.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_071.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_071.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_072.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_072.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_073.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_073.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_074.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_074.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_075.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_075.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_076.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_076.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_077.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_077.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_078.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_078.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_079.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_079.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_080.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_081.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_081.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_082.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_082.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_083.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_083.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_084.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_084.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_085.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_085.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_086.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_086.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_087.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_087.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_088.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_088.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_089.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_089.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_090.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_090.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_091.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_091.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_092.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_092.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_093.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_093.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_094.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_094.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_095.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_095.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_096.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_096.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_097.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_097.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_098.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_098.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_099.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_099.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_100.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_101.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_102.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_103.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_104.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_105.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_106.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_106.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_107.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_107.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_108.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_109.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_109.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_110.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_110.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_111.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/Download_111.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/bullet_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/Images/bullet_blue.png -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/Help/speasyforms_help.aspx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcsheaj/SPEasyForms/4eeb8bc08cf38141db80fe5d0ed32c8677ec2a28/SPEasyForms/Elements/SPEasyFormsAssets/Help/speasyforms_help.aspx -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/JavaScript/adap.autocompleteAdapter.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPEasyForms.adapterCollection.autocompleteAdapter - implementation of type ahead field control 3 | * adapter for SPFieldText. 4 | * 5 | * 6 | * @copyright 2014-2018 Joe McShea 7 | * @license under the MIT license: 8 | * http://www.opensource.org/licenses/mit-license.php 9 | */ 10 | /* global spefjQuery */ 11 | (function ($, undefined) { 12 | 13 | var adapterCollection = $.spEasyForms.adapterCollection; 14 | 15 | //////////////////////////////////////////////////////////////////////////// 16 | // Field control adapter for autocomplete on text fields. 17 | //////////////////////////////////////////////////////////////////////////// 18 | $.spEasyForms.autocompleteAdapter = { 19 | type: "Autocomplete", 20 | 21 | supportedTypes: function () { 22 | return ["SPFieldText"]; 23 | }, 24 | 25 | transform: function (options) { 26 | var opt = $.extend({}, $.spEasyForms.defaults, options); 27 | if (opt.adapter.columnNameInternal in $.spEasyForms.containerCollection.rows) { 28 | var autocompleteData = []; 29 | $().SPServices({ 30 | operation: "GetListItems", 31 | async: true, 32 | listName: opt.adapter.sourceList, 33 | CAMLViewFields: "" + 34 | "" + 35 | "", 36 | CAMLQuery: "" + 37 | "" + 38 | "", 39 | completefunc: function (xData) { 40 | $(xData.responseXML).SPFilterNode("z:row").each(function () { 41 | autocompleteData.push($(this).attr("ows_" + opt.adapter.sourceField)); 42 | }); 43 | 44 | if (autocompleteData.length > 0) { 45 | $.spEasyForms.containerCollection.rows[opt.adapter.columnNameInternal].row.find("input").autocomplete({ 46 | source: autocompleteData, 47 | minLength: 2 48 | }); 49 | } 50 | } 51 | }); 52 | } 53 | }, 54 | 55 | toEditor: function (options) { 56 | var opt = $.extend({}, $.spEasyForms.defaults, options); 57 | var autocompleteOpts = { 58 | modal: true, 59 | buttons: { 60 | "Ok": function () { 61 | opt.currentConfig = $.spEasyForms.containerCollection.toConfig(opt); 62 | opt.adapters = opt.currentConfig.adapters.def; 63 | adapterCollection.validateRequired({ 64 | id: "autocompleteFieldSelect", 65 | displayName: "Lookup Field" 66 | }); 67 | if ($("#autocompleteListSelect").val() && $("#autocompleteListSelect").val().length > 0) { 68 | if ($("#AutocompleteDialog").find(".speasyforms-error").length === 0) { 69 | var result = { 70 | type: "Autocomplete", 71 | sourceList: $("#autocompleteListSelect").val(), 72 | sourceListTitle: $("#autocompleteListSelect option:selected").text(), 73 | sourceField: $("#autocompleteFieldSelect").val(), 74 | columnNameInternal: $("#autocompleteChildSelect").val() 75 | }; 76 | opt.adapters[result.columnNameInternal] = result; 77 | $.spEasyForms.configManager.set(opt); 78 | $('#autocompleteAdapterDialog').dialog("close"); 79 | opt.refresh = $.spEasyForms.refresh.adapters; 80 | $.spEasyForms.containerCollection.toEditor(opt); 81 | } 82 | } else { 83 | if ($("#autoCompleteHiddenFieldName").val() in opt.adapters) { 84 | delete opt.adapters[$("#autoCompleteHiddenFieldName").val()]; 85 | $.spEasyForms.configManager.set(opt); 86 | opt.refresh = $.spEasyForms.refresh.adapters; 87 | $.spEasyForms.containerCollection.toEditor(opt); 88 | } 89 | $('#autocompleteAdapterDialog').dialog("close"); 90 | } 91 | }, 92 | "Cancel": function () { 93 | $('#autocompleteAdapterDialog').dialog("close"); 94 | return false; 95 | } 96 | }, 97 | 98 | autoOpen: false, 99 | width: 600 100 | }; 101 | $('#autocompleteAdapterDialog').dialog(autocompleteOpts); 102 | }, 103 | 104 | launchDialog: function (options) { 105 | var opt = $.extend({}, $.spEasyForms.defaults, options); 106 | 107 | $("#autocompleteAdapterDialog").find(".speasyforms-error").remove(); 108 | 109 | opt.adapter = undefined; 110 | if (opt.fieldName in opt.adapters) { 111 | opt.adapter = opt.adapters[opt.fieldName]; 112 | } 113 | 114 | // initialize the lookup list 115 | $("#autocompleteListSelect").val(""); 116 | $("#autocompleteListSelect option").remove(); 117 | $("#autocompleteListSelect").append(""); 118 | var listCollection = $.spEasyForms.sharePointContext.getListCollection(opt); 119 | $.each(listCollection, function (idx, list) { 120 | $("#autocompleteListSelect").append( 121 | ""); 123 | }); 124 | 125 | if (opt.adapter) { 126 | $("#autocompleteListSelect").val(opt.adapter.sourceList); 127 | } 128 | 129 | // initialize the lookup field 130 | opt.listId = $("#autocompleteListSelect").val(); 131 | if (opt.listId) { 132 | opt.autocompleteContext = $.spEasyForms.sharePointContext.getListContext(opt); 133 | $("#autocompleteFieldSelect option").remove(); 134 | $("#autocompleteFieldSelect").append(""); 135 | $.each(Object.keys(opt.autocompleteContext.fields), function (idx, field) { 136 | $("#autocompleteFieldSelect").append(""); 139 | }); 140 | } else { 141 | $("#autocompleteFieldSelect option").remove(); 142 | } 143 | 144 | if (opt.adapter) { 145 | $("#autocompleteFieldSelect").val(opt.adapter.sourceField); 146 | } 147 | 148 | $("#autocompleteChildSelect option").remove(); 149 | $("#autocompleteChildSelect").append(""); 150 | $.each(Object.keys(opt.currentListContext.fields), function (idx, field) { 151 | $("#autocompleteChildSelect").append(""); 154 | }); 155 | $("#autocompleteChildSelect").val(opt.fieldName).attr("disabled", "disabled"); 156 | $("#autoCompleteHiddenFieldName").val(opt.fieldName); 157 | if ($("#autocompleteChildSelect").val() !== $("#autoCompleteHiddenFieldName").val()) { 158 | $("#autocompleteChildSelect").append(""); 161 | $("#autocompleteChildSelect").val(opt.fieldName).attr("disabled", "disabled"); 162 | } 163 | 164 | // add a change listener to reinitialize on change of the lookup list 165 | if ($("#autocompleteListSelect").attr("data-changelistener") !== "true") { 166 | $("#autocompleteListSelect").attr("data-changelistener", "true"); 167 | $("#autocompleteListSelect").change(function () { 168 | opt.listId = $("#autocompleteListSelect").val(); 169 | if (opt.listId) { 170 | opt.autocompleteContext = $.spEasyForms.sharePointContext.getListContext(opt); 171 | $("#autocompleteFieldSelect option").remove(); 172 | $("#autocompleteFieldSelect").append(""); 173 | $.each(Object.keys(opt.autocompleteContext.fields), function (idx, field) { 174 | $("#autocompleteFieldSelect").append(""); 177 | }); 178 | } 179 | }); 180 | } 181 | 182 | $('#autocompleteAdapterDialog').dialog("open"); 183 | } 184 | }; 185 | var autocompleteAdapter = $.spEasyForms.autocompleteAdapter; 186 | adapterCollection.adapterImplementations[autocompleteAdapter.type] = autocompleteAdapter; 187 | 188 | })(spefjQuery); 189 | -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/JavaScript/adap.defaultToCurrentUserAdapter.js: -------------------------------------------------------------------------------- 1 | /* 2 | * $.spEasyForms.defaultToCurrentUserAdapter - an adapter plug-in for SPEasyForms 3 | * that creates an adapter for user fields to enter a default value of the current 4 | * user on new forms. 5 | * 6 | * 7 | * @copyright 2014-2018 Joe McShea 8 | * @license under the MIT license: 9 | * http://www.opensource.org/licenses/mit-license.php 10 | */ 11 | 12 | /* global spefjQuery, SPClientPeoplePicker, ExecuteOrDelayUntilScriptLoaded */ 13 | (function ($, undefined) { 14 | 15 | // shorthand alias for SPEasyForms instances we're going to need 16 | var containerCollection = $.spEasyForms.containerCollection; 17 | var visibilityRuleCollection = $.spEasyForms.visibilityRuleCollection; 18 | var adapterCollection = $.spEasyForms.adapterCollection; 19 | 20 | /* Field control adapter for default to current user on user fields */ 21 | $.spEasyForms.defaultToCurrentUserAdapter = { 22 | type: "Default To Current User", 23 | 24 | // return an array of field types to which this adapter can be applied 25 | supportedTypes: function () { 26 | return ["SPFieldUser", "SPFieldUserMulti"]; 27 | }, 28 | 29 | // modify a configured field in a new, edit, or display form 30 | transform: function (options) { 31 | var opt = $.extend({}, $.spEasyForms.defaults, options); 32 | if (visibilityRuleCollection.getFormType(opt) !== "new") { 33 | return; 34 | } 35 | if (containerCollection.rows[opt.adapter.columnNameInternal]) { 36 | var pplpkrDiv = $("[id^='" + opt.adapter.columnNameInternal + "'][id$='ClientPeoplePicker']"); 37 | var currentUser = $.spEasyForms.sharePointContext.getUserInformation(opt).name; 38 | if (pplpkrDiv.length > 0) { 39 | ExecuteOrDelayUntilScriptLoaded(function () { 40 | setTimeout(function () { 41 | var clientPplPicker = SPClientPeoplePicker.SPClientPeoplePickerDict[pplpkrDiv[0].id]; 42 | if (clientPplPicker.GetAllUserInfo().length === 0) { 43 | clientPplPicker.AddUserKeys(currentUser); 44 | clientPplPicker.OnValueChangedClientScript = function (elementId, userInfo) { 45 | if (userInfo.length === 0) { 46 | if (document.activeElement && document.activeElement.id !== clientPplPicker.EditorElementId) { 47 | clientPplPicker.AddUserKeys(currentUser); 48 | } 49 | } 50 | }; 51 | } 52 | }, 1000); 53 | }, "clientpeoplepicker.js"); 54 | } else { 55 | var displayName = containerCollection.rows[opt.adapter.columnNameInternal].displayName; 56 | var picker = $().SPServices.SPFindPeoplePicker({ 57 | peoplePickerDisplayName: displayName 58 | }); 59 | if (!picker.currentValue) { 60 | ExecuteOrDelayUntilScriptLoaded(function () { 61 | setTimeout(function () { 62 | $().SPServices.SPFindPeoplePicker({ 63 | peoplePickerDisplayName: displayName, 64 | valueToSet: currentUser, 65 | checkNames: false 66 | }); 67 | }, 1000); 68 | }, "sp.js"); 69 | } 70 | } 71 | } 72 | }, 73 | 74 | // initialize dialog box for configuring adapter on the settings page 75 | toEditor: function (options) { 76 | var opt = $.extend({}, $.spEasyForms.defaults, options); 77 | // add the dialog div to the UI if it is not already there 78 | if ($("#addDefaultToCurrentUserDialog").length === 0) { 79 | var txt = "
" + 82 | "Would you like to add/remove a Default to Current User adapter to " + 83 | "''?
"; 84 | $("#spEasyFormsContainerDialogs").append(txt); 85 | } 86 | // initialize the jQuery UI dialog 87 | var defaultToCurrentOpts = { 88 | modal: true, 89 | buttons: { 90 | "Add": function () { 91 | // add an adapter to the adaptes list and redraw the editor 92 | opt.currentConfig = $.spEasyForms.containerCollection.toConfig(opt); 93 | opt.adapters = opt.currentConfig.adapters.def; 94 | if ($("#defaultToCurrentFieldName").text().length > 0) { 95 | var result = { 96 | type: defaultToCurrentUserAdapter.type, 97 | columnNameInternal: $("#defaultToCurrentFieldName").text() 98 | }; 99 | opt.adapters[result.columnNameInternal] = result; 100 | $.spEasyForms.configManager.set(opt); 101 | opt.refresh = $.spEasyForms.refresh.adapters; 102 | containerCollection.toEditor(opt); 103 | } 104 | $('#addDefaultToCurrentUserDialog').dialog("close"); 105 | }, 106 | "Remove": function () { 107 | // remove the adapter from the adaptes list and redraw the editor 108 | opt.currentConfig = $.spEasyForms.containerCollection.toConfig(opt); 109 | opt.adapters = opt.currentConfig.adapters.def; 110 | if ($("#defaultToCurrentFieldName").text().length > 0 && 111 | $("#defaultToCurrentFieldName").text() in opt.adapters) { 112 | delete opt.adapters[$("#defaultToCurrentFieldName").text()]; 113 | $.spEasyForms.configManager.set(opt); 114 | } 115 | $('#addDefaultToCurrentUserDialog').dialog("close"); 116 | opt.adaptersChanged = true; 117 | opt.refresh = $.spEasyForms.refresh.adapters; 118 | return false; 119 | } 120 | }, 121 | autoOpen: false, 122 | width: 400 123 | }; 124 | $('#addDefaultToCurrentUserDialog').dialog(defaultToCurrentOpts); 125 | }, 126 | 127 | // launch the adapter dialog box to configure a field 128 | launchDialog: function (options) { 129 | var opt = $.extend({}, $.spEasyForms.defaults, options); 130 | // initialize the field name in the dialog 131 | $("#defaultToCurrentFieldName").text(opt.fieldName); 132 | // launch the dialog 133 | $('#addDefaultToCurrentUserDialog').dialog("open"); 134 | } 135 | }; 136 | 137 | // define shorthand local variable for adapter 138 | var defaultToCurrentUserAdapter = $.spEasyForms.defaultToCurrentUserAdapter; 139 | 140 | // add adapter to adapter collection 141 | adapterCollection.adapterImplementations[defaultToCurrentUserAdapter.type] = defaultToCurrentUserAdapter; 142 | })(typeof (spefjQuery) === 'undefined' ? null : spefjQuery); 143 | -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/JavaScript/adap.lookupDetailAdapter.js: -------------------------------------------------------------------------------- 1 | /* 2 | * $.spEasyForms.lookupDetailAdapter - an adapter plug-in for SPEasyForms 3 | * that creates an adapter for text fields to listen for changes to a lookup 4 | * and pull in data from another field in the lookup list. 5 | * 6 | * 7 | * @copyright 2014-2018 Joe McShea 8 | * @license under the MIT license: 9 | * http://www.opensource.org/licenses/mit-license.php 10 | */ 11 | 12 | /* global spefjQuery */ 13 | (function ($, undefined) { 14 | 15 | // shorthand alias for SPEasyForms instances we're going to need 16 | var containerCollection = $.spEasyForms.containerCollection; 17 | var adapterCollection = $.spEasyForms.adapterCollection; 18 | var fieldRows = $.spEasyForms.sharePointFieldRows; 19 | 20 | /* Field control adapter for default to current user on user fields */ 21 | $.spEasyForms.lookupDetailAdapter = { 22 | type: "Lookup Detail", 23 | 24 | // return an array of field types to which this adapter can be applied 25 | supportedTypes: function () { 26 | return ["SPFieldText", "SPFieldNote", "SPFieldMultiLine", "SPFieldChoice", "SPFieldMultiChoice", "SPFieldDateTime", 27 | "SPFieldBoolean", "SPFieldURL", "SPFieldUser", "SPFieldUserMulti", "SPFieldCurrency", "SPFieldNumber"]; 28 | }, 29 | 30 | // modify a configured field in a new, edit, or display form 31 | transform: function (options) { 32 | var opt = $.extend({}, $.spEasyForms.defaults, options); 33 | var adapter = opt.adapter; 34 | var rowInfo = containerCollection.rows[adapter.columnNameInternal]; 35 | if (rowInfo) { 36 | var lookupInfo = containerCollection.rows[adapter.parentColumnInternal]; 37 | if (lookupInfo.row.find("select").attr("data-relationshipListListener") !== "true") { 38 | lookupInfo.row.find("select").attr("data-relationshipListListener", "true").change(function () { 39 | opt.lookup = $(this); 40 | lookupDetailAdapter.updateAllDetailFields(opt); 41 | }); 42 | if ($.spEasyForms.visibilityRuleCollection.getFormType(opt) === "new") { 43 | opt.lookup = lookupInfo.row.find("select"); 44 | lookupDetailAdapter.updateAllDetailFields(opt); 45 | } 46 | } 47 | } 48 | }, 49 | 50 | // initialize dialog box for configuring adapter on the settings page 51 | toEditor: function (options) { 52 | this.getRelationshipHelper(options).constructDialog(); 53 | }, 54 | 55 | // launch the adapter dialog box to configure a field 56 | launchDialog: function (options) { 57 | var relationshipHelper = this.getRelationshipHelper(options); 58 | relationshipHelper.clearDialog(); 59 | relationshipHelper.initControls(); 60 | relationshipHelper.initDialog(); 61 | $("#lookupDetailDialog").dialog("open"); 62 | }, 63 | 64 | getRelationshipHelper: function (options) { 65 | var opt = $.extend({}, $.spEasyForms.defaults, options); 66 | opt.relationship = { 67 | type: lookupDetailAdapter.type, 68 | dialogDiv: "lookupDetailDialog", 69 | relationshipListColumn: { id: "lookupDetailRelationshipList", displayName: "Relationship List" }, 70 | relationshipChildColumn: { id: "lookupDetailRelationshipDetailColumn", displayName: "Detail Column" }, 71 | formListColumn: { id: "lookupDetailList", displayName: "This List" }, 72 | formParentColumn: { id: "lookupDetailLookupColumn", displayName: "Form Lookup Column" }, 73 | formChildColumn: { id: "lookupDetailDetailColumn", displayName: "Form Detail Column" }, 74 | }; 75 | return new $.spEasyForms.relationshipListAdapterHelper(opt); 76 | }, 77 | 78 | updateAllDetailFields: function (options) { 79 | var opt = $.extend({}, $.spEasyForms.defaults, options); 80 | if (opt.lookup.val() === "0") { 81 | $.each(Object.keys(opt.adapters), function (idx, key) { 82 | var current = opt.adapters[key]; 83 | opt.row = containerCollection.rows[current.columnNameInternal]; 84 | opt.row.value = ""; 85 | fieldRows.setValue(opt); 86 | if (opt.row.row.next().attr("data-visibilityadded") === "true") { 87 | var h3 = ""; 88 | if (opt.row.row.next().find("td.ms-formbody").find("h3").length > 0) { 89 | h3 = opt.row.row.next().find("td.ms-formbody").find("h3")[0].outerHTML; 90 | } 91 | opt.row.row.next().find("td.ms-formbody").html(""); 92 | opt.row.row.next().find("td.ms-formbody").append(h3 + "" + opt.row.value + ""); 93 | } 94 | }); 95 | } 96 | else { 97 | var query = "" + 98 | opt.lookup.val() + ""; 99 | 100 | var viewFields = ""; 101 | var adapters = []; 102 | $.each(Object.keys(opt.adapters), function (idx, key) { 103 | var current = opt.adapters[key]; 104 | if (current.parentColumnInternal === current.parentColumnInternal) { 105 | adapters.push(current); 106 | viewFields += ""; 107 | } 108 | }); 109 | viewFields += ""; 110 | 111 | $().SPServices({ 112 | operation: "GetListItems", 113 | async: false, 114 | listName: opt.adapter.relationshipList, 115 | CAMLQuery: query, 116 | CAMLViewFields: viewFields, 117 | completefunc: function (xData) { 118 | $(xData.responseXML).SPFilterNode('z:row').each(function () { 119 | var resultRow = $(this); 120 | $.each($(adapters), function (idx, adapter) { 121 | opt.row = containerCollection.rows[adapter.columnNameInternal]; 122 | var value = resultRow.attr("ows_" + adapter.relationshipListChildColumn); 123 | if (typeof (value) !== "undefined" && value !== null) { 124 | switch (opt.row.spFieldType) { 125 | case "SPFieldUser": 126 | case "SPFieldUserMulti": 127 | opt.value = resultRow.attr("ows_" + adapter.relationshipListChildColumn); 128 | if (opt.value.indexOf(";#") > -1) { 129 | var a = opt.value.split(";#"); 130 | opt.value = ""; 131 | for (var i = 1; i < a.length; i += 2) { 132 | if (opt.value.length > 0) { 133 | opt.value += ";"; 134 | } 135 | opt.value += a[i]; 136 | } 137 | } 138 | break; 139 | case "SPFieldDateTime": 140 | opt.value = resultRow.attr("ows_" + adapter.relationshipListChildColumn).replace(/-/g, "/"); 141 | break; 142 | case "SPFieldURL": 143 | opt.value = resultRow.attr("ows_" + adapter.relationshipListChildColumn).replace(", ", "|"); 144 | break; 145 | default: 146 | opt.value = resultRow.attr("ows_" + adapter.relationshipListChildColumn).replace(/;#/g, ";"); 147 | break; 148 | } 149 | } 150 | else { 151 | opt.value = ""; 152 | } 153 | fieldRows.setValue(opt); 154 | if (opt.row.row.next().attr("data-visibilityadded") === "true") { 155 | var h3 = ""; 156 | if (opt.row.row.next().find("td.ms-formbody").find("h3").length > 0) { 157 | h3 = opt.row.row.next().find("td.ms-formbody").find("h3")[0].outerHTML; 158 | } 159 | else if (opt.row.row.next().find("td.ms-formbody").find("nobr.speasyforms-columnheader")) { 160 | h3 = opt.row.row.next().find("td.ms-formbody").find("nobr.speasyforms-columnheader").parent()[0].outerHTML; 161 | } 162 | opt.row.row.next().find("td.ms-formbody").html(""); 163 | opt.row.row.next().find("td.ms-formbody").append(h3 + "" + opt.row.value + ""); 164 | } 165 | }); 166 | }); 167 | } 168 | }); 169 | } 170 | $.spEasyForms.utilities.resizeModalDialog(); 171 | } 172 | }; 173 | 174 | // define shorthand local variable for adapter 175 | var lookupDetailAdapter = $.spEasyForms.lookupDetailAdapter; 176 | 177 | // add adapter to adapter collection 178 | adapterCollection.adapterImplementations[lookupDetailAdapter.type] = lookupDetailAdapter; 179 | })(typeof (spefjQuery) === 'undefined' ? null : spefjQuery); 180 | -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/JavaScript/adap.starRatingAdapter.js: -------------------------------------------------------------------------------- 1 | /* 2 | * $.spEasyForms.starRatingAdapter - an adapter plug-in for SPEasyForms that 3 | * can be applied to integer fields and allows users to enter 0-5 stars as the 4 | * value by clicking on the stars or a slider-like interface. 5 | * 6 | * 7 | * @copyright 2014-2018 Joe McShea 8 | * @license under the MIT license: 9 | * http://www.opensource.org/licenses/mit-license.php 10 | */ 11 | 12 | /* global spefjQuery */ 13 | (function ($, undefined) { 14 | 15 | // shorthand alias for SPEasyForms instances we're going to need 16 | var containerCollection = $.spEasyForms.containerCollection; 17 | var visibilityRuleCollection = $.spEasyForms.visibilityRuleCollection; 18 | var adapterCollection = $.spEasyForms.adapterCollection; 19 | 20 | /* Field control adapter for default to current user on user fields */ 21 | $.spEasyForms.starRatingAdapter = { 22 | type: "Star Rating", 23 | 24 | // return an array of field types to which this adapter can be applied 25 | supportedTypes: function () { 26 | return ["SPFieldNumber"]; 27 | }, 28 | 29 | // modify a configured field in a new, edit, or display form 30 | transform: function (options) { 31 | var opt = $.extend({}, $.spEasyForms.defaults, options); 32 | if (containerCollection.rows[opt.adapter.columnNameInternal]) { 33 | var rowInfo = containerCollection.rows[opt.adapter.columnNameInternal]; 34 | var value = rowInfo.value ? rowInfo.value : 0; 35 | 36 | if (visibilityRuleCollection.getFormType(opt) === "display") { 37 | if ($("#" + opt.adapter.columnNameInternal + "Stars").length === 0) { 38 | var td = rowInfo.row.find("td.ms-formbody"); 39 | td.html("
"); 40 | $("#" + opt.adapter.columnNameInternal + "Stars").css("background-position", "0px " + (20 * value) + "px"); 41 | } 42 | } 43 | else { 44 | if ($("#" + opt.adapter.columnNameInternal + "Stars").length === 0) { 45 | var input = rowInfo.row.find("input"); 46 | input.hide(); 47 | input.parent().prepend("
" + 48 | "
"); 49 | 50 | $("#" + opt.adapter.columnNameInternal + "Stars").css("background-position", "0px " + (20 * value) + "px"); 51 | 52 | $("#" + opt.adapter.columnNameInternal + "StarsSlider").click(function (e) { 53 | var posX = $(this).offset().left; 54 | var stars = Math.floor((e.pageX - posX + 10) / 20); 55 | input.val(stars); 56 | $("#" + opt.adapter.columnNameInternal + "Stars").css("background-position", "0px " + (20 * stars) + "px"); 57 | }); 58 | } 59 | } 60 | } 61 | }, 62 | 63 | // initialize dialog box for configuring adapter on the settings page 64 | toEditor: function (options) { 65 | var opt = $.extend({}, $.spEasyForms.defaults, options); 66 | // add the dialog div to the UI if it is not already there 67 | if ($("#addStarRatingAdapterDialog").length === 0) { 68 | var txt = "
" + 71 | "Would you like to add/remove a Star Rating adapter to " + 72 | "''?
"; 73 | $("#spEasyFormsContainerDialogs").append(txt); 74 | } 75 | // initialize the jQuery UI dialog 76 | var starRatingOpts = { 77 | modal: true, 78 | buttons: { 79 | "Add": function () { 80 | opt.currentConfig = $.spEasyForms.containerCollection.toConfig(opt); 81 | opt.adapters = opt.currentConfig.adapters.def; 82 | // add an adapter to the adaptes list and redraw the editor 83 | if ($("#starRatingFieldName").text().length > 0) { 84 | var result = { 85 | type: starRatingAdapter.type, 86 | columnNameInternal: $("#starRatingFieldName").text() 87 | }; 88 | opt.adapters[result.columnNameInternal] = result; 89 | $.spEasyForms.configManager.set(opt); 90 | opt.refresh = $.spEasyForms.refresh.adapters; 91 | containerCollection.toEditor(opt); 92 | } 93 | $('#addStarRatingAdapterDialog').dialog("close"); 94 | }, 95 | "Remove": function () { 96 | opt.currentConfig = $.spEasyForms.containerCollection.toConfig(opt); 97 | opt.adapters = opt.currentConfig.adapters.def; 98 | // remove the adapter from the adaptes list and redraw the editor 99 | if ($("#starRatingFieldName").text().length > 0 && 100 | $("#starRatingFieldName").text() in opt.adapters) { 101 | delete opt.adapters[$("#starRatingFieldName").text()]; 102 | $.spEasyForms.configManager.set(opt); 103 | } 104 | $('#addStarRatingAdapterDialog').dialog("close"); 105 | opt.refresh = $.spEasyForms.refresh.adapters; 106 | containerCollection.toEditor(opt); 107 | return false; 108 | } 109 | }, 110 | autoOpen: false, 111 | width: 400 112 | }; 113 | $('#addStarRatingAdapterDialog').dialog(starRatingOpts); 114 | }, 115 | 116 | // launch the adapter dialog box to configure a field 117 | launchDialog: function (options) { 118 | var opt = $.extend({}, $.spEasyForms.defaults, options); 119 | // initialize the field name in the dialog 120 | $("#starRatingFieldName").text(opt.fieldName); 121 | // launch the dialog 122 | $('#addStarRatingAdapterDialog').dialog("open"); 123 | } 124 | }; 125 | 126 | // define shorthand local variable for adapter 127 | var starRatingAdapter = $.spEasyForms.starRatingAdapter; 128 | 129 | // add adapter to adapter collection 130 | adapterCollection.adapterImplementations[starRatingAdapter.type] = starRatingAdapter; 131 | })(typeof (spefjQuery) === 'undefined' ? null : spefjQuery); 132 | -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/JavaScript/adapterCollection.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPEasyForms.adapterCollection - collection of field control adapters. 3 | * 4 | * 5 | * @copyright 2014-2018 Joe McShea 6 | * @license under the MIT license: 7 | * http://www.opensource.org/licenses/mit-license.php 8 | */ 9 | /* global spefjQuery */ 10 | (function ($, undefined) { 11 | 12 | //////////////////////////////////////////////////////////////////////////// 13 | // Collection of field control adapters. 14 | //////////////////////////////////////////////////////////////////////////// 15 | $.spEasyForms.adapterCollection = { 16 | adapterImplementations: {}, 17 | 18 | supportedTypes: function (options) { 19 | var opt = $.extend({}, $.spEasyForms.defaults, options); 20 | var result = []; 21 | if (opt.currentConfig.adapters && opt.currentConfig.adapters.def) { 22 | $.each(Object.keys(adapterCollection.adapterImplementations), function (idx, impl) { 23 | if (impl in adapterCollection.adapterImplementations) { 24 | result = result.concat(adapterCollection.adapterImplementations[impl].supportedTypes(opt)); 25 | } 26 | }); 27 | result = $(result).filter(function (pos, item) { 28 | return $.inArray(item, result) === pos; 29 | }); 30 | } 31 | return result; 32 | }, 33 | 34 | transform: function (options) { 35 | var opt = $.extend({}, $.spEasyForms.defaults, options); 36 | if (!$.spEasyForms.isSettingsPage(opt)) { 37 | if (opt.currentConfig && opt.currentConfig.adapters && opt.currentConfig.adapters.def) { 38 | opt.adapters = opt.currentConfig.adapters.def; 39 | $.each(opt.adapters, function (idx, adapter) { 40 | opt.adapter = adapter; 41 | if (opt.adapter.type in adapterCollection.adapterImplementations) { 42 | adapterCollection.adapterImplementations[opt.adapter.type].transform(opt); 43 | } 44 | }); 45 | } 46 | } 47 | }, 48 | 49 | toEditor: function (options) { 50 | var opt = $.extend({}, $.spEasyForms.defaults, options); 51 | opt.adapters = opt.currentConfig.adapters.def; 52 | 53 | $.each(Object.keys(adapterCollection.adapterImplementations), function (idx, impl) { 54 | if (impl in adapterCollection.adapterImplementations) { 55 | adapterCollection.adapterImplementations[impl].toEditor(opt); 56 | } 57 | }); 58 | 59 | $("#spEasyFormsAdapterTable tr.speasyforms-adapter-static").remove(); 60 | $.each(Object.keys(opt.adapters).sort(this.compareAdapters), function (idx, adapterField) { 61 | opt.adapter = opt.adapters[adapterField]; 62 | opt.fieldName = adapterField; 63 | if (opt.adapter.type in adapterCollection.adapterImplementations) { 64 | adapterCollection.drawAdapter(opt); 65 | } 66 | }); 67 | if ($("#spEasyFormsAdapterTable tr.speasyforms-adapter-static").length === 0) { 68 | $("#spEasyFormsAdapterTable").append("" + 69 | "" + 70 | "There are no adpaters configured for the current form."); 71 | } 72 | 73 | $(".speasyforms-deleteadapter").button({ 74 | icons: { 75 | primary: "ui-icon-closethick" 76 | }, 77 | text: false 78 | }).click(function () { 79 | var internalName = $($(this).closest("tr").find("td")[1]).text(); 80 | opt.currentConfig = $.spEasyForms.containerCollection.toConfig(opt); 81 | delete opt.currentConfig.adapters.def[internalName]; 82 | $.spEasyForms.configManager.set(opt); 83 | opt.refresh = $.spEasyForms.refresh.adapters; 84 | $.spEasyForms.containerCollection.toEditor(opt); 85 | return false; 86 | }); 87 | }, 88 | 89 | launchDialog: function (options) { 90 | var opt = $.extend({}, $.spEasyForms.defaults, options); 91 | 92 | $("#adapterTypeDialog").dialog({ 93 | modal: true, 94 | autoOpen: false, 95 | width: 400, 96 | buttons: { 97 | "Ok": function () { 98 | $("#adapterTypeDialog").dialog("close"); 99 | opt.adapterType = $("#adapterType option:selected").text(); 100 | $.each(adapterCollection.adapterImplementations, function (idx, impl) { 101 | if (impl.type === opt.adapterType) { 102 | opt.adapterImpl = impl; 103 | } 104 | }); 105 | if (opt.adapterImpl) { 106 | opt.adapterImpl.launchDialog(opt); 107 | } 108 | }, 109 | "Cancel": function () { 110 | $("#adapterTypeDialog").dialog("close"); 111 | } 112 | } 113 | }); 114 | 115 | opt.dialogLaunched = false; 116 | opt.adapters = opt.currentConfig.adapters.def; 117 | opt.adapter = undefined; 118 | if (opt.fieldName in opt.adapters) { 119 | opt.adapter = opt.adapters[opt.fieldName]; 120 | } 121 | if (opt.adapter) { 122 | var a = opt.adapters[opt.fieldName]; 123 | if (a.type in adapterCollection.adapterImplementations) { 124 | adapterCollection.adapterImplementations[a.type].launchDialog(opt); 125 | opt.dialogLaunced = true; 126 | } 127 | } 128 | if (!opt.dialogLaunced) { 129 | opt.typeAdapters = []; 130 | $.each(adapterCollection.adapterImplementations, function (idx, impl) { 131 | if ($.inArray(opt.spFieldType, impl.supportedTypes(opt)) >= 0) { 132 | opt.typeAdapters.push({ 133 | impl: impl, 134 | type: opt.spFieldType 135 | }); 136 | } 137 | }); 138 | if (opt.typeAdapters.length === 1) { 139 | opt.typeAdapters[0].impl.launchDialog(opt); 140 | } else { 141 | // ask what type of adapter they want 142 | $("#adapterFieldType").text(opt.spFieldType); 143 | $("#adapterType").find("option:not(:first)").remove(); 144 | $.each(opt.typeAdapters, function (idx, current) { 145 | $("#adapterType").append(""); 146 | }); 147 | $("#adapterTypeDialog").dialog("open"); 148 | } 149 | } 150 | $(".tabs-min").hide(); 151 | $("#tabs-min-adapters").show(); 152 | }, 153 | 154 | getSupportedTypes: function (options) { 155 | var opt = $.extend({}, $.spEasyForms.defaults, options); 156 | var result = []; 157 | $.each(adapterCollection.adapterImplementations, function (idx, impl) { 158 | if ($.inArray(opt.spFieldType, impl.supportedTypes(opt)) >= 0) { 159 | result.push(impl.type); 160 | } 161 | }); 162 | return result; 163 | }, 164 | 165 | drawAdapter: function (options) { 166 | var opt = $.extend({}, $.spEasyForms.defaults, options); 167 | var displayName = opt.fieldName; 168 | var config = ""; 169 | 170 | $.each(Object.keys(opt.adapter).sort(), function (idx, key) { 171 | if (key !== "type" && key !== "columnNameInternal") { 172 | if (config.length > 0) { 173 | config += "
"; 174 | } 175 | config += "" + $.spEasyForms.utilities.titleCase(key) + " = " + opt.adapter[key]; 176 | } 177 | }); 178 | 179 | var tableRow = $("#spEasyFormsTemplates .speasyforms-adapterrowtemplate"). 180 | clone(). 181 | attr("data-fieldname", opt.adapter.columnNameInternal); 182 | $("#spEasyFormsAdapterTable").append(tableRow); 183 | 184 | if ($.spEasyForms.containerCollection.rows[opt.adapter.columnNameInternal] && 185 | !$.spEasyForms.containerCollection.rows[opt.adapter.columnNameInternal].fieldMissing) { 186 | displayName = $.spEasyForms.containerCollection.rows[opt.adapter.columnNameInternal].displayName; 187 | } 188 | else { 189 | tableRow.addClass("speasyforms-fieldmissing").find("td").addClass("speasyforms-fieldmissing"); 190 | } 191 | 192 | tableRow.find(".speasyforms-displayname").text(displayName); 193 | tableRow.find(".speasyforms-internalname").text(opt.adapter.columnNameInternal); 194 | tableRow.find(".speasyforms-adaptertype").text(opt.adapter.type); 195 | tableRow.find(".speasyforms-adapterconfig").html(config); 196 | tableRow.find("button.speasyforms-deleteadapter").attr("id", opt.adapter.columnNameInternal + "Delete"); 197 | 198 | if (opt.verbose && tableRow.hasClass("speasyforms-fieldmissing")) { 199 | tableRow.find("td.speasyforms-adapter-static").addClass("ui-state-error"); 200 | } 201 | else if (tableRow.hasClass("speasyforms-fieldmissing")) { 202 | tableRow.addClass("speasyforms-hidden").find("td").addClass("speasyforms-hidden"); 203 | } 204 | }, 205 | 206 | compareAdapters: function (a, b) { 207 | var listctx = $.spEasyForms.sharePointContext.getListContext(); 208 | if (a in listctx.fields) { 209 | a = listctx.fields[a].displayName; 210 | } 211 | if (b in listctx.fields) { 212 | b = listctx.fields[b].displayName; 213 | } 214 | if (a < b) { 215 | return -1; 216 | } else if (a > b) { 217 | return 1; 218 | } 219 | return 0; 220 | }, 221 | 222 | validateRequired: function (options) { 223 | var control = $("#" + options.id); 224 | control.parent().find(".speasyforms-error").remove(); 225 | if (!control.val()) { 226 | var div = $("
", { "class": "speasyforms-error" }).text("'" + options.displayName + "' is a required field!"); 227 | control.parent().append(div); 228 | } 229 | } 230 | }; 231 | var adapterCollection = $.spEasyForms.adapterCollection; 232 | 233 | })(spefjQuery); 234 | -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/JavaScript/cont.accordion.js: -------------------------------------------------------------------------------- 1 | -/* 2 | * SPEasyForms.containerCollection.accordion - Object representing an accordion container. 3 | * 4 | * 5 | * @copyright 2014-2018 Joe McShea 6 | * @license under the MIT license: 7 | * http://www.opensource.org/licenses/mit-license.php 8 | */ 9 | /* global spefjQuery */ 10 | (function ($, undefined) { 11 | 12 | var containerCollection = $.spEasyForms.containerCollection; 13 | var baseContainer = $.spEasyForms.baseContainer; 14 | 15 | //////////////////////////////////////////////////////////////////////////// 16 | // Accordion container implementation. 17 | //////////////////////////////////////////////////////////////////////////// 18 | var accordion = { 19 | containerType: "Accordion", 20 | fieldCollectionsDlgTitle: "Enter the names of the accordion pages, one per line", 21 | fieldCollectionsDlgPrompt: "Page Names (one per line):", 22 | 23 | transform: function (options) { 24 | var opt = $.extend({}, $.spEasyForms.defaults, options); 25 | opt.result = []; 26 | var divId = "spEasyFormsAccordionDiv" + opt.currentContainerLayout.index; 27 | var divClass = "speasyforms-accordion"; 28 | 29 | var div = $("
", { "id": divId, "class": divClass }); 30 | opt.currentContainerParent.append(div); 31 | 32 | $.each(opt.currentContainerLayout.fieldCollections, function (idx, fieldCollection) { 33 | opt.collectionIndex = opt.currentContainerLayout.index + "_" + idx; 34 | opt.parentElement = $("
", { "id": opt.parentElement }); 35 | opt.collectionType = "accordion"; 36 | opt.fieldCollection = fieldCollection; 37 | opt.tableClass = "speasyforms-accordion"; 38 | 39 | var header = $("

", { 40 | "id": "spEasyFormsAccordionHeader" + opt.collectionIndex, 41 | "class": opt.tableClass 42 | }).text(fieldCollection.name); 43 | 44 | div.append(header); 45 | div.append(opt.parentElement); 46 | 47 | $.spEasyForms.baseContainer.appendFieldCollection(opt); 48 | }); 49 | 50 | div.accordion({ 51 | heightStyle: "content", 52 | active: false, 53 | collapsible: true, 54 | activate: function (e) { 55 | e.preventDefault(); 56 | } 57 | }); 58 | 59 | div.on("mouseup", "h3.speasyforms-accordion", function (e) { 60 | if (e.which === 1) { 61 | div.find("h3.speasyforms-accordion"). 62 | removeClass("ui-accordion-header-active"). 63 | removeClass("ui-state-active"). 64 | removeClass("ui-corner-top"). 65 | addClass("ui-corner-all"); 66 | div.find(".ui-accordion-content").hide(); 67 | 68 | $(this). 69 | addClass("ui-accordion-header-active"). 70 | addClass("ui-state-active"). 71 | addClass("ui-corner-top"). 72 | removeClass("ui-corner-all"); 73 | $(this).next().show(); 74 | $.spEasyForms.containerCollection.postTransform(opt); 75 | $.spEasyForms.utilities.resizeModalDialog(); 76 | } 77 | }); 78 | 79 | return opt.result; 80 | }, 81 | 82 | postTransform: function (options) { 83 | var opt = $.extend({}, $.spEasyForms.defaults, options); 84 | var index = opt.currentContainerLayout.index; 85 | var container = $("div.speasyforms-container[data-containerindex='" + index + "']"); 86 | var accordion = container.children("div.speasyforms-accordion"); 87 | var headers = accordion.children("h3.ui-accordion-header"); 88 | var content = accordion.children("div.ui-accordion-content "); 89 | var allHidden = true; 90 | for (var idx = 0; idx < content.length; idx++) { 91 | var subContainer = $(content[idx]).children(".speasyforms-container"); 92 | if (subContainer.attr("data-speasyformsempty") === "1") { 93 | var active = accordion.accordion("option", "active"); 94 | if (active === idx) { 95 | accordion.accordion({ active: idx + 1 }); 96 | } 97 | $(headers[idx]).hide(); 98 | } 99 | else { 100 | $(headers[idx]).show(); 101 | allHidden = false; 102 | } 103 | } 104 | if (allHidden) { 105 | container.attr("data-speasyformsempty", "1").hide(); 106 | } 107 | else { 108 | container.attr("data-speasyformsempty", "0").show(); 109 | } 110 | }, 111 | 112 | postValidationAction: function (options) { 113 | var opt = $.extend({}, $.spEasyForms.defaults, options); 114 | var index = opt.currentContainerLayout.index; 115 | var container = $("div.speasyforms-container[data-containerindex='" + index + "']"); 116 | var accordion = container.children("div.speasyforms-accordion"); 117 | var headers = accordion.children("h3.ui-accordion-header"); 118 | var content = accordion.children("div.ui-accordion-content "); 119 | container.attr("data-speasyforms-validationerror", "0"); 120 | for (var idx = 0; idx < content.length; idx++) { 121 | var subContainer = $(content[idx]).children(".speasyforms-container"); 122 | if (subContainer.attr("data-speasyforms-validationerror") === "1") { 123 | if (container.attr("data-speasyforms-validationerror") === "0") { 124 | container.attr("data-speasyforms-validationerror", "1"); 125 | accordion.accordion({ active: idx }); 126 | } 127 | $(headers[idx]).addClass("speasyforms-accordionvalidationerror"); 128 | } 129 | else { 130 | $(headers[idx]).removeClass("speasyforms-accordionvalidationerror"); 131 | } 132 | } 133 | return true; 134 | } 135 | }; 136 | 137 | containerCollection.containerImplementations.accordion = $.extend({}, baseContainer, accordion); 138 | 139 | })(spefjQuery); 140 | -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/JavaScript/cont.columns.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPEasyForms.containerCollection.columns - Object representing a multi-column container. 3 | * 4 | * 5 | * @copyright 2014-2018 Joe McShea 6 | * @license under the MIT license: 7 | * http://www.opensource.org/licenses/mit-license.php 8 | */ 9 | /* global spefjQuery */ 10 | (function ($, undefined) { 11 | 12 | var containerCollection = $.spEasyForms.containerCollection; 13 | var baseContainer = $.spEasyForms.baseContainer; 14 | 15 | //////////////////////////////////////////////////////////////////////////// 16 | // Columns container implementation. 17 | //////////////////////////////////////////////////////////////////////////// 18 | var columns = { 19 | containerType: "Columns", 20 | fieldCollectionsDlgTitle: "Enter the names of the columns, one per line; these are only displayed on the settings page, not on the form itself.", 21 | fieldCollectionsDlgPrompt: "Column Names (one per line):", 22 | 23 | transform: function (options) { 24 | var opt = $.extend({}, $.spEasyForms.defaults, options); 25 | opt.result = []; 26 | 27 | var outerTableId = "spEasyFormsColumnsOuterTable" + opt.currentContainerLayout.index; 28 | var outerTableClass = "speasyforms-columns"; 29 | 30 | var table = $(""); 31 | var tableRow = $("", { "id": outerTableId + "Row" }); 32 | table.append(tableRow); 33 | opt.currentContainerParent.append(table); 34 | 35 | $.each(opt.currentContainerLayout.fieldCollections, function (idx, fieldCollection) { 36 | opt.collectionIndex = opt.currentContainerLayout.index + "_" + idx; 37 | opt.parentElement = $("", { "id": "spEasyFormsColumnsCell" + opt.collectionIndex }); 38 | opt.collectionType = "columns"; 39 | opt.fieldCollection = fieldCollection; 40 | opt.tableClass = "speasyforms-columncell"; 41 | if (opt.currentContainerLayout.fieldCollections.length > 1) { 42 | opt.headerOnTop = true; 43 | } 44 | 45 | tableRow.append(opt.parentElement); 46 | 47 | $.spEasyForms.baseContainer.appendFieldCollection(opt); 48 | }); 49 | 50 | return opt.result; 51 | }, 52 | 53 | postTransform: function (options) { 54 | var opt = $.extend({}, $.spEasyForms.defaults, options); 55 | var index = opt.currentContainerLayout.index; 56 | var container = $("div.speasyforms-container[data-containerindex='" + index + "']"); 57 | var allHidden = true; 58 | for (var idx = 0; idx < opt.currentContainerLayout.fieldCollections.length; idx++) { 59 | var id = "#spEasyFormsColumnsCell" + index + "_" + idx; 60 | if ($(id).children("div.speasyforms-container").attr("data-speasyformsempty") !== "1") { 61 | allHidden = false; 62 | break; 63 | } 64 | } 65 | if (allHidden) { 66 | container.attr("data-speasyformsempty", "1").hide(); 67 | } 68 | else { 69 | container.attr("data-speasyformsempty", "0").show(); 70 | opt.tables = container.find("> table > tbody > tr > td > div > table.speasyforms-fieldcollection"); 71 | this.evenUpTableRows(opt); 72 | } 73 | }, 74 | 75 | postValidationAction: function (options) { 76 | var opt = $.extend({}, $.spEasyForms.defaults, options); 77 | var index = opt.currentContainerLayout.index; 78 | var container = $("div.speasyforms-container[data-containerindex='" + index + "']"); 79 | container.attr("data-speasyforms-validationerror", "0"); 80 | for (var idx = 0; idx < opt.currentContainerLayout.fieldCollections.length; idx++) { 81 | var id = "#spEasyFormsColumnsCell" + index + "_" + idx; 82 | if ($(id).children("div.speasyforms-container").attr("data-speasyforms-validationerror") === "1") { 83 | container.attr("data-speasyforms-validationerror", "1"); 84 | break; 85 | } 86 | } 87 | return true; 88 | }, 89 | 90 | evenUpTableRows: function (options) { 91 | var opt = $.extend({}, $.spEasyForms.defaults, options); 92 | var tableRows = []; 93 | var rowCount = 0; 94 | $.each($(opt.tables), function (idx, table) { 95 | var currentRows = $(table).find("tr:not([data-visibilityhidden='true']) td.ms-formbody").closest("tr"); 96 | tableRows.push(currentRows); 97 | if (currentRows.length > rowCount) { 98 | rowCount = currentRows.length; 99 | } 100 | $.each($(currentRows), function (idx, row) { 101 | $(row).css("height", "auto"); 102 | }); 103 | }); 104 | /* jshint -W083 */ 105 | for (var i = 0; i < rowCount; i++) { 106 | var height = 0; 107 | $.each($(tableRows), function (idx, rows) { 108 | if (rows.length > i && $(rows[i]).height() > height) { 109 | height = $(rows[i]).height(); 110 | } 111 | }); 112 | if (height > 0) { 113 | $.each($(tableRows), function (idx, rows) { 114 | if (rows.length > i && $(rows[i]).height() !== height) { 115 | $(rows[i]).height(height); 116 | } 117 | }); 118 | } 119 | } 120 | /* jshint +W083 */ 121 | } 122 | }; 123 | 124 | containerCollection.containerImplementations.columns = $.extend({}, baseContainer, columns); 125 | 126 | })(spefjQuery); 127 | -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/JavaScript/cont.defaultContainer.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPEasyForms.containerCollection.defaultFormContainer - object representing the OOB SharePoint form. 3 | * 4 | * 5 | * @copyright 2014-2018 Joe McShea 6 | * @license under the MIT license: 7 | * http://www.opensource.org/licenses/mit-license.php 8 | */ 9 | /* global spefjQuery */ 10 | (function ($, undefined) { 11 | 12 | var containerCollection = $.spEasyForms.containerCollection; 13 | 14 | //////////////////////////////////////////////////////////////////////////// 15 | // Container implementation representing fields on the OOB SharePoint form. 16 | //////////////////////////////////////////////////////////////////////////// 17 | $.spEasyForms.defaultFormContainer = { 18 | containerType: "DefaultForm", 19 | cannotBeAdded: true, 20 | noChildren: true, 21 | noParent: true, 22 | 23 | transform: function () { 24 | return []; 25 | }, 26 | 27 | toEditor: function (options) { 28 | var opt = $.extend({}, $.spEasyForms.defaults, options); 29 | 30 | var table = containerCollection.createFieldCollection(opt); 31 | $.each(containerCollection.rows, function (fieldIdx, row) { 32 | if ($.inArray(fieldIdx, opt.fieldsInUse) < 0) { 33 | table.append(containerCollection.createFieldRow({ row: row })); 34 | $(".ms-formtable").append(row.row); 35 | } 36 | }); 37 | 38 | var div = $("
", { "class": "speasyforms-nestedsortable-content" }); 39 | div.append(table); 40 | opt.currentContainer.append(div); 41 | }, 42 | 43 | toLayout: function (options) { 44 | var opt = $.extend({}, $.spEasyForms.defaults, options); 45 | return { 46 | containerType: this.containerType, 47 | index: $(opt.container).attr("data-containerindex") 48 | }; 49 | } 50 | }; 51 | var defaultFormContainer = $.spEasyForms.defaultFormContainer; 52 | containerCollection.containerImplementations.defaultForm = defaultFormContainer; 53 | 54 | })(spefjQuery); 55 | -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/JavaScript/cont.fieldCollection.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPEasyForms.containerCollection.fieldCollection - This is the leaf collection most of the time, a collection that contains 3 | * a single table of SharePoint fields. 4 | * 5 | * 6 | * @copyright 2014-2018 Joe McShea 7 | * @license under the MIT license: 8 | * http://www.opensource.org/licenses/mit-license.php 9 | */ 10 | /* global spefjQuery */ 11 | (function ($, undefined) { 12 | 13 | var containerCollection = $.spEasyForms.containerCollection; 14 | 15 | $.spEasyForms.fieldCollection = { 16 | containerType: "FieldCollection", 17 | cannotBeAdded: true, 18 | noChildren: true, 19 | needsParent: true, 20 | 21 | transform: function (options) { 22 | var opt = $.extend({}, $.spEasyForms.defaults, options); 23 | var result = []; 24 | opt.table = $(""); 25 | opt.currentContainerParent.append(opt.table); 26 | 27 | $.each(opt.fieldCollection.fields, function (fieldIdx, field) { 28 | opt.rowInfo = containerCollection.rows[field.fieldInternalName]; 29 | if ($.spEasyForms.baseContainer.appendRow(opt)) { 30 | result.push(field.fieldInternalName); 31 | } 32 | }); 33 | return result; 34 | }, 35 | 36 | postTransform: function (options) { 37 | var opt = $.extend({}, $.spEasyForms.defaults, options); 38 | var container = $("div.speasyforms-container[data-containerindex='" + opt.currentContainerLayout.index + "']"); 39 | if (container.find("tr:not([data-visibilityhidden='true']) td.ms-formbody").length === 0) { 40 | container.attr("data-speasyformsempty", "1").hide(); 41 | } 42 | else { 43 | container.attr("data-speasyformsempty", "0").show(); 44 | } 45 | }, 46 | 47 | postValidationAction: function (options) { 48 | var opt = $.extend({}, $.spEasyForms.defaults, options); 49 | var container = $("div.speasyforms-container[data-containerindex='" + opt.currentContainerLayout.index + "']"); 50 | if (container.find("span[role='alert']").length > 0) { 51 | container.attr("data-speasyforms-validationerror", "1"); 52 | } 53 | else { 54 | container.attr("data-speasyforms-validationerror", "0"); 55 | } 56 | return true; 57 | }, 58 | 59 | toEditor: function (options) { 60 | var opt = $.extend({}, $.spEasyForms.defaults, options); 61 | var result = []; 62 | var table = containerCollection.createFieldCollection(opt); 63 | 64 | $.each(opt.currentContainerLayout.fields, function (fieldIdx, field) { 65 | opt.row = containerCollection.rows[field.fieldInternalName]; 66 | if (opt.row === undefined) { 67 | opt.row = { 68 | displayName: field.fieldInternalName, 69 | internalName: field.fieldInternalName, 70 | spFieldType: field.fieldInternalName, 71 | value: "", 72 | row: $("

"), 73 | fieldMissing: true 74 | }; 75 | } 76 | table.append(containerCollection.createFieldRow(opt)); 77 | result.push(field.fieldInternalName); 78 | }); 79 | 80 | opt.currentContainer.find(".speasyforms-itemtitle").html(opt.currentContainerLayout.name); 81 | if (opt.currentContainerLayout.name !== opt.currentContainerLayout.containerType) { 82 | opt.currentContainer.find(".speasyforms-itemtype").html(" [" + opt.currentContainerLayout.containerType + "]"); 83 | } 84 | opt.currentContainer.find(".speasyforms-nestedsortable-content").append(table); 85 | 86 | return result; 87 | }, 88 | 89 | toLayout: function (options) { 90 | var opt = $.extend({}, $.spEasyForms.defaults, options); 91 | var trs = $(opt.container).find("tr:not(:first)"); 92 | 93 | var result = { 94 | name: $(opt.container).attr("data-containername"), 95 | containerType: $(opt.container).attr("data-containertype"), 96 | index: $(opt.container).attr("data-containerindex"), 97 | fields: [] 98 | }; 99 | 100 | $.each(trs, function (idx, tr) { 101 | var tds = $(tr).find("td"); 102 | result.fields.push({ 103 | fieldInternalName: $(tds[1]).text() 104 | }); 105 | }); 106 | 107 | return result; 108 | } 109 | }; 110 | var fieldCollection = $.extend({}, $.spEasyForms.baseContainer, $.spEasyForms.fieldCollection); 111 | containerCollection.containerImplementations.fieldCollection = fieldCollection; 112 | 113 | })(spefjQuery); 114 | 115 | -------------------------------------------------------------------------------- /SPEasyForms/Elements/SPEasyFormsAssets/JavaScript/cont.htmlSnippet.js: -------------------------------------------------------------------------------- 1 | /* 2 | * SPEasyForms htmlSnippet 3 | * 4 | * 5 | * @copyright 2014-2018 Joe McShea 6 | * @license under the MIT license: 7 | * http://www.opensource.org/licenses/mit-license.php 8 | */ 9 | 10 | /* global spefjQuery */ 11 | (function($, undefined) { 12 | 13 | var containerCollection = $.spEasyForms.containerCollection; 14 | 15 | $.spEasyForms.containerCollection.containerImplementations.htmlSnippet = { 16 | containerType: "HtmlSnippet", 17 | noChildren: true, 18 | 19 | // transform the current form based on the configuration of this container 20 | transform: function (options) { 21 | var opt = $.extend({}, $.spEasyForms.defaults, options); 22 | if (opt.currentContainerLayout.contents) { 23 | opt.currentContainerParent.append( 24 | $("", { "class": "speasyforms-htmlsnippet" }).html(opt.currentContainerLayout.contents)); 25 | } 26 | return []; 27 | }, 28 | 29 | // second stage transform, this is called after visibility rules and adapters are applied 30 | postTransform: function () { }, 31 | 32 | // an opportunity to do validation tasks prior to committing an item 33 | postValidationAction: function () { return true; }, 34 | 35 | // TBD need to update from here down for new design 36 | // draw the container in the properties pane of the settings page from the JSON 37 | toEditor: function (options) { 38 | var opt = $.extend({}, $.spEasyForms.defaults, options); 39 | 40 | var div = $("
", { "class": "speasyforms-nestedsortable-content ui-sortable-handle" }); 41 | var span = $("", { "class": "speasyforms-htmlsnippet" }); 42 | span.html(opt.currentContainerLayout.contents.replace(/)<[^<]*)*<\/script>/gi, '')); 43 | div.append(span); 44 | 45 | var textarea = $("" + 85 | "" + 86 | "
"); 87 | } 88 | 89 | var span; 90 | var configureSnippetOpts = { 91 | width: 830, 92 | modal: true, 93 | open: function () { 94 | htmlSnippet.initRTE(); 95 | }, 96 | buttons: { 97 | "Ok": function () { 98 | var containerIndex = $("#snippetContainerId").text(); 99 | if (containerIndex.length > 0) { 100 | var container = $("li.speasyforms-nestedsortable-container[data-containerindex='" + containerIndex + "']"); 101 | span = container.find("span.speasyforms-htmlsnippet"); 102 | var contents = $("#snippetContents").val(); 103 | span.html(contents.replace(/)<[^<]*)*<\/script>/gi, '')); 104 | container.find("textarea.speasyforms-htmlsnippet").val(contents); 105 | var name = $("#snippetName").val(); 106 | if (name.length > 0) { 107 | container.attr("data-containername", name); 108 | container.find(".speasyforms-itemtitle").text(name); 109 | if (name !== container.attr("data-containertype")) { 110 | container.find(".speasyforms-itemtype").text("[HtmlSnippet]"); 111 | } 112 | } 113 | } 114 | else { 115 | opt.currentContainerParent = $(".speasyforms-panel ol.speasyforms-nestedsortable"); 116 | opt.currentContainerLayout = { 117 | name: ($("#snippetName").val().length > 0 ? $("#snippetName").val() : "HtmlSnippet"), 118 | containerType: "HtmlSnippet", 119 | contents: $("#snippetContents").val() 120 | }; 121 | opt.impl = htmlSnippet; 122 | opt.currentContainer = containerCollection.appendContainer(opt); 123 | opt.currentContainerLayout = opt.currentContainer.attr("data-containerindex"); 124 | 125 | var div = $("
", { "class": "speasyforms-nestedsortable-content ui-sortable-handle" }); 126 | span = $("", { "class": "speasyforms-htmlsnippet" }); 127 | span.html($("#snippetContents").val().replace(/)<[^<]*)*<\/script>/gi, '')); 128 | div.append(span); 129 | 130 | var textarea = $("