Jump to content

kpcollier

Caspio Rockstar
  • Content Count

    386
  • Joined

  • Last visited

  • Days Won

    15

Everything posted by kpcollier

  1. Are you just trying to get the value typed into 9.1 to be automatically copied to 9.2?
  2. Hey @shaferam, Have you tried the ready made apps? I believe they have a Document Review Management app that you may be able to customize to your needs. It should at least help get you started.
  3. @Altair Nice find. I couldn't get the webkit method to work from directly on the DP. The script updated above works, however. LC also said they are implementing a quick and easy setting for it in Styles, so we should be alright!
  4. Upon using the new Responsive DataPages feature from Caspio Release 21, I noticed all of my forms that had this enabled were aligned to the left. I couldn't get any of the solutions already in this forum to center my datapages. The new Responsive feature completely restructures the HTML of the DataPages. I have tried a lot of things. In DevTools, if you select the .caspioform element, you can add 'text-align: -webkit-center;" and it works. However, try adding this CSS rule to your DataPage, and nothing happens. Edit*: Live Chat has helped me find a fix. [action*="[@cbAppKey]"] > div:nth-child(1) { margin: auto !important; } This should center your DataPages. They are working on adding it to Styles.
  5. First thought that came to mind is making that field Unique in the table level. If you do not want any duplicates for that field, checking the 'Unique' box on the table level for that field will prevent the submission automatically when trying to enter a dup. This could be a fairly easy solution. For the format and length, can you give us the requirements? Is this a text field? I believe with a combination of using the Unique feature and some simple JS, you can prevent form submission based on your requirements.
  6. The best current way to create a Document or Certificate-like datapage is with a list-type report page - to my knowledge. You'll need a lot of HTML and CSS to manipulate the page to look like a certificate. You need to add one field at least to get to the Results page - just pick a random one to get you to the Configure Results page. Once there, add in a Calculated Field and just write "NULL" in it. Now you can delete that random field you added in. Make sure to have Header and Footer enabled on the Configure Results page. After that, add an HTML block. Click on 'Next' to go to the next configure screen. You will see an option for Records Per Page. Set this to 1. This will make it so only one list record will show on the screen, which helps with printing. Then, you need to make that 1 list record full width and height of the page. Put this in the header. <style> div[class*="cbResultSetPanelDataContainer"]{ height: 100% !important; width: 100% !important; background-color: white !important; } </style> After that, go into your HTML block you added. Now you can use either HTML or the WYSIWYG Editor to create how you want the certificate to look like. You can use the field picker to input fields directly from your table. It is tricky to make it look right, but after some time you might be able to get something that looks good enough. Finally, this page will only look right if you make it a PDF and download from there. So, in that same screen where you set Records Per Page to 1, click on the Advanced Tab. Then check on PDF. Then click on the pen by the PDF checkbox a mess with the PDF Settings until it fits your liking. Caspio does not have a standard feature for something like this. It is pretty ridiculous. If we could use the PDF generator on Details Page like before, this would be easier, but I am still a believer that a Document type datapage should be standard. Here are the links to the PDF on Details Idea and the Document/Letter DataPage Idea on Caspio's Ideabox if you would like to add a vote.
  7. "We recognized this and starting middle of this year, we have been building out new infrastructure to make way for many exciting features in our product roadmap. Please stay tuned to our product update in early nextyear to have more information on the upcoming features." That is from an email straight from the Director of Product Management back in 2019. That's all they told me about a time. But, honestly, they are still even having trouble with the Safari Login Issue that they said would be fixed with the upcoming product release. Caspio 21.0 just came out yesterday, and unless I missed it on their release notes, that's a promise not kept. If I had to guess, they would roll out this 'infrastructure' towards Fall of this year or later. In the email from the Director, he mentioned a few different features to me, but did not say anything about Pivot Tables.
  8. All I can say is good luck. The best place to put your ideas is on the Ideabox, but, it's not used very much. There are a lot of voted for ideas that have no feedback from Caspio whatsoever. There are a bunch of subjects on there that say 'starting' that are a year old... I brought it up to them multiple times and they said that their infrastructure is old and they are working on a new one and that "all of my wanted ideas are already on the roadmap". Yeah, sure. I would still search the ideabox for a similar request or make a new one. But, on a real note, this forum post will probably work just as good.
  9. Thanks, geoffdude. Your CSS worked. All I had to do was switch the width: 50% to 100% in the ChannelView rule. The date picker seems fine now!
  10. I am using iframes to display multiple datapages in a navigation bar style workflow. You can find it in this Caspio HowTo article. It works pretty good, except for the fact that the date picker when trying to edit a record is not in line with the field. This isn't the biggest problem until you get to records towards the bottom of the page, then the date picker is so far off align that it pops up out of the page, making it impossible to make a selection. Anyone have any idea? <head> <style> </style> </head> <style> .ui-resizable-helper { border: 1px dotted gray; } ul#menu .activeMenu { background: #bb3033; } ul#menu { width: 100%; background: #21618C; font-size: 10px; font-family: "Arial", sans-serif; font-weight: bold; list-style-type: none; margin: 0; padding: 0; text-align: center; } ul#menu li { display: block; display: inline-block; margin: 4px 0 0 0; padding: 5px 15px 5px 15px; cursor:pointer;} ul#menu li a {color: #fff; text-decoration: none; display: block; line-height: 200%; } ul#menu li a:hover { color: #333; } .content{display:block; width: 100%; height:1024px; padding: 10px; border:2px solid #21618C; overflow:hidden; position:relative;} .ChannelView{ width:100%; height:100%; margin-bottom:100%;} @media (max-width: 1024) { .content{ width: 96.6%; } } li { font-size: 11px !important; font-weight: bold !important; } </style> <script> function getElementByClass(classer) { var allHTMLTags=document.getElementsByTagName("*"); var array = []; for (i=0; i<allHTMLTags.length; i++) { if (allHTMLTags[i].className==classer) { array.push(allHTMLTags[i]); }} return array;} function channel(n){ var links_1337 = document.querySelectorAll("ul#menu li"); links_1337.forEach(function(elem, idx) { console.log(n, idx) if (idx == n) elem.className = "activeMenu"; else elem.className = ""; }); var frames = getElementByClass("ChannelView"); var length = frames.length; for(var i = 0; i < length; i++) { if(frames[i].id == ("viewer"+ n)) { frames[i].style.display = "inline"; }else{ frames[i].style.display = "none";}} } </script> <div style="display:block; text-align:left;"> <div style="display:block;"> <ul id="menu"> <li><a onclick="channel(0)">NEW ORDER</a></li> <li><a onclick="channel(1)">SHIP DATE/CONFIRMATION</a></li> <li><a onclick="channel(2)">MATERIAL CHECK-IN</a></li> <li><a onclick="channel(3)">SHIPPING CALENDAR</a></li> <li><a onclick="channel(4)">ALL PENDING ORDERS</a></li> <li><a onclick="channel(5)">COMPLETED ORDERS</a></li> </ul> </div> <div class="content"> <iframe frameborder=0 id="viewer0" class="ChannelView" src="www.caspio.com" style="display:inline"></iframe> <iframe frameborder=0 id="viewer1" class="ChannelView" src="www.caspio.com"></iframe> <iframe frameborder=0 id="viewer2" class="ChannelView" src="www.caspio.com"></iframe> <iframe frameborder=0 id="viewer3" class="ChannelView" src="www.caspio.com"></iframe> <iframe frameborder=0 id="viewer4" class="ChannelView" src="www.caspio.com"></iframe> <iframe frameborder=0 id="viewer5" class="ChannelView" src="www.caspio.com"></iframe> </div> </div>
  11. You will definitely want someone that is proficient in JavaScript. That is a BIG one with Caspio. There are a lot of things that Caspio is missing in their 'standard' features, and they all seem to be do-able in JS. HTML and CSS is pretty much a given. If they are good at JS, they'll know how to mess with these. Python might be a nice asset for APIs, but again, someone good can do it with JS. Knowledge of some SQL will definitely help with expressions and queries for Calculated Values and Formulas, etc. But that stuff is easier and Live Chat can help with this a lot more than they can with JS. TLDR; You won't need as much of a 'Database Manager', but more of a 'JavaScript Expert'. A hard part is going to be getting an experienced developer wanting to actually work with Caspio. It is a great platform for people who are starting out and don't know much about programming, but for an expert, it could really be troublesome getting them onboard to work with something like this.
  12. You'll actually do this through the Styles tab on your Caspio Bridge. Go to the Style your page is using > Form/Details > Fields. Scroll down the list to find File. You'll see Border Options. I used a solid 1px with a light color and it works pretty well. You'll probably want to do it under Results Page > Fields > File as well.
  13. I believe the problem is that it cannot find any element with the ID of 'Section1', not that you have to 'unnull' anything. Are you using the correct ID from outside of preview mode? Not sure if it would change, but it could be the answer. One thing with Caspio elements, is that if you use any 'Special' elements, it appends a random string to the ID that changes with every load. I believe this is with cascading, autocomplete, calculated values, and whatnot. Once again, not sure if you are using any of these, but this could also be the answer. Did you create the Section1 element in an html block or something? Or are you trying to capture the Sections from the DataPage Wizard?
  14. I tried to do this some time last year and couldn't figure it out. Obviously, it is not a standard feature (surprise) so it's gotta be something JS. When I was going through this, I initially was trying to just toggle hide/unhide the rest of the input fields with a button, but I couldn't figure out a good way to use a single button to loop through the rest of the input fields one by one. Another problem was removing the input fields if too many were summoned. (Maybe add another 'X' button by each field that when clicked, would hide the field?) I never finished this workflow and just went another way. But, one thing that might work is to have a JS script to toggle hide/unhide the first additional input field - then use the Rules section in the datapage wizard to hide the rest of the fields in such a manner that if the previous input field is empty, hide the next one. So, you would show the 2nd additional field with the click of a button... then when that 2nd field gets a value, the 3rd one pops up. You'll end up with the user leaving that space empty, but it may not be a huge inconvenience. Or if you don't care much you can skip the button altogether and just have the 2nd line show no matter what after the 1st line has a value. Either way, I can't say I am surprised this isn't a standard feature, but it definitely should be. I bet I can take 5 minutes and find 5 examples of widely used forms on the internet that have this workflow.
  15. It is easier to see if you set a border around it. If you drag a file to anywhere inside the rectangle border it will accept the file. Have you tried to simply drag a file towards the 'Choose File' button?
  16. Usually when I am creating my dropdowns, I create a blank custom value so that users can bypass that filter. Such example would be like a '-Any-' or 'Match All' in the display and nothing in the value. I feel this is a pretty common workflow among the Caspio community. While creating a new report datapage, I couldn't help but notice an 'N/A' option at the bottom of each of my dropdowns. These N/A options were not created by me... And they only show for dropdowns that are populated by a lookup table or view. I have tried numerous different views and tables. I've created a dummy table just to test it with the same results. Even if the table has no data - the dropdown will show 'N/A' as the single option. Is anyone else seeing this? Maybe it is a new feature? It would be nice to know where these come from and if this means we do not have to do the workaround explained above, and if so do we need to change all of our previous datapages that have the workaround implemented currently?
  17. If you are using a Submission or Single Update form, you need to use 'InsertRecord______' where you would put the table name of the field in the blank space. If you are working on any report datapage, you need to make it 'EditRecord______' with the field name of the field in the blank. In example, if your field name was 'First_Name' and it was a sub form, you would use 'InsertRecordFirst_Name'. However, if the field you are using is a virtual parameter, you would use 'cbParamVirtual#' where you would put the Virtual Field number instead of the '#'. So, if your field was Virtual13, you would use 'cbParamVirtual13'. With virtual fields, you do not need to use 'EditRecord' or 'InsertRecord' no matter what page you are using it on.
  18. I believe this is what you need: <script type="text/javascript"> document.addEventListener('BeforeFormSubmit', function(event) { location.reload(); }); </script>
  19. Thank you @Vitalikssssss, I appreciate it! I have tried your script. It gets the Subtotal, but it won't allow you to select/input a value for Mark Up, Tax, Misc, and Freight. They are all dropdowns, beside freight which is a text field. And it would also not take in cents. I tried messing with some stuff to get it to work, no luck yet. I will update this post when I find the solution.
  20. I have tried a couple of different solutions from posts found here and here. But, for some reason, I cannot get it to work for me. I've tried multiple different ways and nothing works. I don't get any errors in the console with the provided solutions, but it was not working at all. I have a feeling it has something to do with the setInterval, where it just doesn't get a chance to work, however I have tried nesting the functions and it might really just be my lack of JS knowledge and something easy. Here is one part of the JS that I can't get to format. There are multiple other parts, but I feel if this one can get working, I can fix the others. function calculate() { var subTotal = isNaN(parseFloat(document.getElementById("InsertRecordSubtotal").value)) ? 0 : parseFloat(document.getElementById("InsertRecordSubtotal").value); var markUp = isNaN(parseFloat(document.getElementById("InsertRecordMarkUp").value)) ? 0 : parseFloat(document.getElementById("InsertRecordMarkUp").value) ; var countyTax = isNaN(parseFloat(document.getElementById("InsertRecordCounty_Tax").value)) ? 0 : parseFloat(document.getElementById("InsertRecordCounty_Tax").value); var miscPerc = isNaN(parseFloat(document.getElementById("InsertRecordMisc_Percent").value)) ? 0 : parseFloat(document.getElementById("InsertRecordMisc_Percent").value); var freight = isNaN(parseFloat(document.getElementById("InsertRecordFreight_Total").value)) ? 0 : parseFloat(document.getElementById("InsertRecordFreight_Total").value); var markUpTotal = document.getElementById("InsertRecordMarkUp_Total").value = (subTotal) * (markUp); var countyTaxTotal = document.getElementById("InsertRecordCountyTax_Total").value = (subTotal) * (countyTax); var miscPercTotal = document.getElementById("InsertRecordMisc_Percent_Total").value = (subTotal) * (miscPerc); document.getElementById("InsertRecordNew_Subtotal").value = (subTotal) + (markUpTotal) + (countyTaxTotal) + (miscPercTotal) + (freight); } setInterval(calculate, 1500); This is on a submission form. I am not using calculated fields because the amount of calculations I have made every interaction take 2+ seconds to register. Thanks for the help!
  21. If you go to their HowTo page > Troubleshooting > Known Issues you will find it. Yes, you have to dig pretty far to even see it. I agree they should've sent out a message. I spent an unruly amount of time trying to fix this issue. Not only, but I was talking to Live Chat about this issue, and they had no clue about the issue until I pointed them to the post on their HowTo page...
  22. The attachment tab already has this feature. If there is an attachment box on your form, you can drag a file to it instead of clicking browse. Maybe mess with the css of the field to make it bigger to let users know of the feature.
  23. Hey all. I am working on this Back button. Two different levels of users for this app - Users and Editors. They both use the same details datapage for records. I have a back button that takes the users back to the Tabular Report results page, however this is where I need to redirect the users based on an auth field. Here is what I have. It does take you back to the Users Report version, but when the auth field is true, it does not take you to the Editors Report version. Any help is appreciated. <input type="button" class="rsAddNew" name="drop" id="redbutton" value="Back"> document.getElementById('redbutton').onclick = function() { if ("[@authfield:Employee_Table_ResourceCenter_Editor^]" == 'Yes') { window.location = "https://00000000.caspio.com/dp/e750500039f-------------"; } else { window.location = "https://00000000.caspio.com/dp/e7505000ba817---------------"; } return false; }
  24. If anyone could help me out with trying to format this, it would be great! ALL of my JS calculations are coming out as just a number. (i.e. '12345.678' instead of '12,345.68'). I think it is because I am manipulating the numbers through the js script above, so it is just ignoring the formatting options. I am not sure. All of the Totals fields are currency datatype, but they still show up as just a number. If there is anyway I can format it as USD currency, that would be great. TIA
×
×
  • Create New...