Jump to content


Caspio Evangelist
  • Posts

  • Joined

  • Last visited

  • Days Won


kpcollier last won the day on September 14

kpcollier had the most liked content!


About kpcollier

Recent Profile Visitors

1,392 profile views
  1. I can't confirm anything but I have also noticed performance issues lately - slow loading datapages, missing scripts, all that jazz.
  2. I thought there use to be a setting in the DataPage Wizard to toggle that on and off, but I can't find it either. Putting this in the header should make it disappear. <style> .cbRecordCountMessage{ display: none; } </style>
  3. I have an Employee_Table that my employees use to log in to my apps and all of that. These users are broken up into groups - Com - Lead, CS - Lead, Res - Lead are the first 3, and Com - Installer, CS - Installer, Res - Installer are the other 3. I have a Employee Survey table and web form that my Lead's are using to submit performance surveys on the Installers. I am trying to create a report or a list that shows which of the Leads (Com - Lead, CS - Lead, Res - Lead) have NOT submitted a survey yet for any Installers. So, if they are in one of the Lead groups, and their ID number isn't in the Survey table, I would like their name to be added to the report/list. I am not too sure how to go about making this work. Any help is appreciated!
  4. *from 6 years ago. Don't hold your breath.
  5. Yes, it is possible! Below is the html for the button I created on the Popup page. First, I was just going to make this button copy the customerID value to the clipboard so that the user can paste the value into the parent page. I am still using this same button for the workflow. This button (and the script) is in an HTML block on the popup results page. <input id="in[@field:CG_Client_ID]" style="width:1px; opacity:0;"> <div class="tooltip"> <button type="button" id="bt[@field:CG_Client_ID]" class="copyBut"> <span class="tooltiptext" id="myTooltip[@field:CG_Client_ID]">Copy to clipboard</span> Copy </button> </div> Then, for the script, the two window.opener.document lines are the ones that copies the value to the parent page. The tooltip is just a nice little message to the user confirming it was copied. I didn't need to add any script to the parent page. document.getElementById('bt[@field:CG_Client_ID]').addEventListener("click", function(){ document.getElementById('in[@field:CG_Client_ID]').value="[@field:CG_Client_ID]"; window.opener.document.querySelector('input[id^="InsertRecordIG_Sheet_Table_Customer_"]').value = "[@field:CG_Client_ID]"; window.opener.document.querySelector('input[id^="InsertRecordIG_Sheet_Table_Customer_"]').dispatchEvent(new Event('change')); document.getElementById('in[@field:CG_Client_ID]').select(); document.execCommand("copy"); var tooltip = document.getElementById("myTooltip[@field:CG_Client_ID]"); tooltip.innerHTML = "Copied: " + "[@field:Primary_Alias]'s ID"; });
  6. What if I am trying to get a value from a caspio Popup datapage to the caspio Parent datapage? On my submission form, I have a spot for 'Customer ID' with a button next to it. If you click the button, a Tabular Report pops up where the user can search our customer table to find the ID. I am trying to make it so the user can just click on the ID they want - or a button next to it - on the popup tabular report and automatically have that value populate the Customer ID input field on the Parent datapage. Is something like this possible? I am struggling to find anything to help me start this.
  7. You can only have 1 trigger of each 'run-on' type - Update, Insert, or Delete. I usually like to break them up into 3 triggers for their respective type in all of my apps for easier organization. Pretty much, you would create a Trigger that runs on Insert, then you would create a 2nd Trigger that runs on Delete and copy the contents from the Insert trigger over to the Delete trigger. Now if the table has a new record inserted, only the Insert Trigger will go off - and vice versa.
  8. There is not a way to have end user import via a datapage, unfortunately. I also would like this feature. There are a couple alternatives that I tried but didn't really like. This one is using a third party service Or, you could try and get scheduled imports set up if you have Datahub included in your plan. Not sure what plans get it or not. https://howto.caspio.com/tables-and-views/scheduled-import-and-export/scheduled-import-and-export-datahub/ https://howto.caspio.com/tables-and-views/scheduled-import-and-export/scheduled-tasks-datahub/?_ga=2.90172251.1300064615.1628521157-85106091.1627397795
  9. No, I apologize. Between school and my job I do not have time. However, I'll gladly help you here for free. I would recommend @LWSChad if you really need someone else to do this for you. He has helped me a few times on these forums and I know he recently got the Certified Caspio Developer stuff going on.
  10. I was kind of referring to this problem a week or so ago, but the presentation of the problem was poor and some things are different. I have three calculated fields that are being used to sum up the entered quantities of specific items. There are 6 fields each - the user will select the type of 'IG' from the left dropdown and put the quantity that they want in the field to the right of it. In the image below, if 'Alum' was selected and '5' was put in the Qty field, we would start with 5 Alum IGs. Now I need to group together alike 'IGs' and sum their quantities. I have 3 calculated fields to account for the 3 IG types, with this formula (the WHEN clause values are Vinyl = 1, Alum = 2, Wood = 3): CASE WHEN [@field:IG_Sheet_Table_IG1] = "1" THEN [@field:IG_Sheet_Table_IG1_Qty] ELSE 0 END + CASE WHEN [@field:IG_Sheet_Table_IG2] = "1" THEN [@field:IG_Sheet_Table_IG2_Qty] ELSE 0 END + CASE WHEN [@field:IG_Sheet_Table_IG3] = "1" THEN [@field:IG_Sheet_Table_IG3_Qty] ELSE 0 END + CASE WHEN [@field:IG_Sheet_Table_IG4] = "1" THEN [@field:IG_Sheet_Table_IG4_Qty] ELSE 0 END + CASE WHEN [@field:IG_Sheet_Table_IG5] = "1" THEN [@field:IG_Sheet_Table_IG5_Qty] ELSE 0 END + CASE WHEN [@field:IG_Sheet_Table_IG6] = "1" THEN [@field:IG_Sheet_Table_IG6_Qty] ELSE 0 END 1 case statement for each IG/Qty and adding them together. These 3 formulas are making my page insanely slow. I am looking for some help on how to rearrange this formula or how to accomplish this in another way that might help with the load times on my page.
  11. @Joemac I believe the only way to get a photo to go straight into the record is by clicking on the file field 'Choose file' button and then selecting the camera. They would have to navigate to the record and then click on the file field, then take the photo, then click update/submit. When doing this on iPad, it should bring up the option to either upload a file/photo from the gallery, or use the camera to take a picture when you click on the 'Choose File' button. We could probably figure out a simple script to autosubmit once a new image/file is loaded into the file field. We could probably figure out a script to automatically hit the 'Choose file' button as well. Say, if you made a Details page where the user could use a search form to find the correct record, then when the results page loads, the script will automatically hit the file field button. Then the user would just have to select the Camera from the prompt and take the photo. Then maybe use the autosubmit function on change of the file field. Not too sure if that is what you are looking for. But if so, I can start trying to make some scripts work.
  12. What do you mean? Are you trying to create a button that will take users to your social media pages? You can make your own button that you can style yourself that will take the user to whatever pages you want. <a class="sMedia" href="www.YourSocialMediaLink.com">Facebook</a> <style> .sMedia { padding: 4px 5px 4px 5px; color: white; background-color: #4267B2; text-decoration: none; border: 1px solid black; border-radius: 5px; } <style> Or, you can take a look here on the HowTo section. This shows different ways to incorporate social media, like a TweetThis button.
  13. Caspio has free hosting for paid plans as well, but I don't think they really advertise it much. If you have your files ready, you can create a support ticket and they will instruct you on how to send them the files (I believe it is through FileZilla) and then they will get it hosted on a website for you.
  14. Thanks for the reply, @TellMeWhy. Maybe this screenshot will help with the understanding. Alum, Vinyl, and Wood are the three possible values for the IG fields. The dropdown is showing the display field, but the value is either 1, 2, or 3. Then the user puts a value of quantity next to it. If IG #1 is set to Wood, and the Qty is 3, then we know we have 3 wood windows. I'm trying to determine how many of each type of IG we have. So, if IG1 and IG2 were both 'Alum' with Qty of 6, I would have 12 Alum IGs. I will give your approach a try.
  15. Trying to think of other possible options... I've found a couple posts on SO where you can group an object array by one value and sum up the other values. However, I'm not too sure how to get the 'results' properties into my 3 totals fields. This script groups the array by Type and then sums up the Qtys of each. It produces an object ... ex {type: 1, qty: 14}. Now I need to be able to put those values into my virtual fields... var igT = [ {type: ig1v.value, qty: ig1q.value}, {type: ig2v.value, qty: ig2q.value}, {type: ig3v.value, qty: ig3q.value}, {type: ig4v.value, qty: ig4q.value}, {type: ig5v.value, qty: ig5q.value}, {type: ig6v.value, qty: ig6q.value} ]; var result = []; igT.reduce(function(res, value) { if (!res[value.type]) { res[value.type] = { type: value.type, qty: 0 }; result.push(res[value.type]) } res[value.type].qty += +value.qty; return res; }, {}); console.log(result) });
  • Create New...