Jump to content


Popular Content

Showing content with the highest reputation since 08/16/2019 in all areas

  1. 2 points
    Hello Batchini! Well, there would be two ways how to create this. If we're going to use trigger, this may be a complex one. One easy way I thought of is with the use of Calculated Fields, but this would only be on a DataPage Level. You can use this formula to get the Minimum Value. SELECT MIN(FieldName) FROM Child WHERE ID = target.[@field:FieldID] Assuming if you have a foreign Key inside your child table. So we'll be using this formula to display the minimum value, Datasource would be your parent table. I hope this helps. Scar();
  2. 1 point
    Thank you Alison this is great help. Jared
  3. 1 point
    Hello Im really excited of caspio I just find it fev days ago. I building job posting website (members based) I need advice if all of this I can do it with caspio? I got already builded websit in html working online. I need to make customers registration and login and trades registration and login. When trade person loggs in then will have members area website, with update details upload photos change password. For customers I need them to be able post jobs - they fill the form and submit and this post apears in specific place on my website. Its possible to do all of this with caspio? thanks Simon
  4. 1 point

    Line Chart time series

    Hi @Corpcatalog, You can build such Chart in Caspio but you would need to modify your table first. You table should look like the following: You can build the following Chart once you transform your table: You may import attached Datapage to your account in order to see the settings for the Chart Datapage. Hope this helps. Regards, vitalikssssss CaspioData_2019-Sep-10_1309.zip
  5. 1 point

    Change color

    You could change it to this. <style> td[class*="cbResultSetData"]:nth-of-type(9){ color: red !important; } </style>
  6. 1 point

    Change color

    You may refer to this forum post as a reference: then change it to this code: <style> [class*=cbResultSetHeaderCell]:nth-child(9) a { color: red !important; } </style> a is for the href attribute and color is for the text of it. I hope it helps!
  7. 1 point
    Hi, For future reference, you may check this video on how to build a Job Posting application: ~JolliBeng
  8. 1 point
    I want to share a solution on how to set a placeholder to the Multiselect Dropdown form element on the search form. You should put the following code into the Footer after disabling HTML Editor on the advanced tab: <script> document.addEventListener('DataPageReady', function () { document.querySelector('[id^="ComboBoxValue"]').setAttribute("placeholder", "Your value for the placeholder"); }); </script>
  9. 1 point
    Hi folks I wanted to share a cool code with everyone when you press the Submit Button on a Form. Well when you press the Submit Button with a file in it to load and there is a unique field in it (such as a Username for a registration form), there's a bit of a delay until you ge to the confirmation screen. This confuses the Submitter and may press the button again - which results in an error because now the form is submitted twice but the same username was alreast submitted on the first form Anyway you want a Loading screen to pop up. Caspio should have this simple feature for a "low coding" platform! In your header drop this code (#Submit is the submit button - on an update form its something different, #processing is the name of my div that will show the processing window after submission): <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("#Submit").click(function(){ $("#processing").css({"display":"table"}); }); }); </script> In the Footer drop this: <div id="processing" style="display:none;background-color:rgba(222,200,70,0.9);height:100vh;width:100vw;position:fixed;top:0;"><br/><br/><span style="display:table;height:75wh;margin:auto;top:0;bottom:0;left:0;right:0;">Processing, Please Wait....<br/><br/><img style="display:table;margin:auto;" src="http://skquares.com/processing.gif"></img><br/<br/></span></div> ------- thats it! Notice the display is set to none because you dont want to show the window until the Submit button is pressed via the Jquery script. Notice the height and width are set to the size of the screen with a position of fixed, top:0 - so that the whole screen is covered but you can shrink it by putting less width and height; background is my own color choice but you can change that - note leave the opacity not at 100% but I have it at 90%(0.9) so that the user can still see the form a little. Also, http://skquares.com/processing.gif is where i store MY image so you have to change it to where you image is hosted (but you could use mine i guess). Ok I hope this helps!
  10. 1 point

    Bar Chart X-Axis Value

    Hi @taylorswiftlover, For you to be able to achieve your workflow, you need to add another X-axis on your Chart DataPage. Please refer to the screenshots: 1. Choose the 'Use a separate field for each series' in the Data Source settings: 2. Add another X axis: 3. Change the Formatting of your X-axis: Hope this helps. - Barbie
  11. 1 point

    Move chat box

    If you are referring to the Live Help icon beside your table, you may simply click the icon and the chat pop up should appear afterwards. You may drag the chat away from the view of your table and minimize it afterwards. I do chats a lot and I think support already knows me already hahahaha Screenshot:
  12. 1 point

    XIRR function

    Hello @Vitalikssssss! It is possible to implement such a formula within Tabular report using additional JS. Please follow these steps: 1. You need to create additional APP parameter to use the "moment.js" library. Please check this article to get familiar with the APP Parameters in Caspio - https://howto.caspio.com/apps/app-parameters/ 2. Create the Tabular Report and add the Header/Footer. Please insert this code into the Header: <div style='display:flex; justify-content:flex-start;padding:30px;'> <input placeholder="Guess Rate, %" id='rate'></input> <button id='click' class='cbResultSetAddButton' style='margin-left:10px;'>Calculate XIRR</button> <div id='result' style='margin-left:10px;'></div> </div> <script src="[@app:URL_1]"></script> <script> "use strict"; document.addEventListener('DataPageReady', function () { document.querySelector('#click').addEventListener('click', function (event) { var formatDate = 'DD/MM/YYYY'; var columnDateNumber = 2; //Change based on your column position on a result set var columnValuesNumber = 3; //Change based on your column position on a result set //Not changeable part var datesSelector = "tr>td:nth-child(".concat(columnDateNumber, ")[class^=\"cbResultSetData\"]"); var valuesSelector = "tr>td:nth-child(".concat(columnValuesNumber, ")[class^=\"cbResultSetData\"]"); var dates = []; var values = []; document.querySelectorAll(datesSelector).forEach(function (item, index) { if (!item.hasAttribute('style')) { return dates.push(item.innerText); } }); document.querySelectorAll(valuesSelector).forEach(function (item, index) { if (!item.hasAttribute('style')) { return values.push(+item.innerText); } }); var guess = +document.querySelector('#rate').value; var some; if (guess != 0) { some = guess/100; } document.querySelector('#result').innerHTML = "Result:<strong>".concat(XIRR(values, dates, some, formatDate)*100, "%</strong>"); }); }); function XIRR(values, dates, guess, local) { // Credits: algorithm inspired by Apache OpenOffice // Calculates the resulting amount var irrResult = function irrResult(values, dates, rate) { var r = rate + 1; var result = values[0]; for (var i = 1; i < values.length; i++) { result += values[i] / Math.pow(r, moment(dates[i], local).diff(moment(dates[0], local), "days") / 365); } return result; }; // Calculates the first derivation var irrResultDeriv = function irrResultDeriv(values, dates, rate) { var r = rate + 1; var result = 0; for (var i = 1; i < values.length; i++) { var frac = moment(dates[i], local).diff(moment(dates[0], local), "days") / 365; result -= frac * values[i] / Math.pow(r, frac + 1); } return result; }; // Check that values contains at least one positive value and one negative value var positive = false; var negative = false; for (var i = 0; i < values.length; i++) { if (values[i] > 0) positive = true; if (values[i] < 0) negative = true; } // Return error if values does not contain at least one positive value and one negative value if (!positive || !negative) return "#NUM!"; // Initialize guess and resultRate var guess = typeof guess === "undefined" ? 0.1 : guess; var resultRate = guess; // Set maximum epsilon for end of iteration var epsMax = 1e-10; // Set maximum number of iterations var iterMax = 50; // Implement Newton's method var newRate, epsRate, resultValue; var iteration = 0; var contLoop = true; do { resultValue = irrResult(values, dates, resultRate); newRate = resultRate - resultValue / irrResultDeriv(values, dates, resultRate); epsRate = Math.abs(newRate - resultRate); resultRate = newRate; contLoop = epsRate > epsMax && Math.abs(resultValue) > epsMax; } while (contLoop && ++iteration < iterMax); if (contLoop) return "#NUM!"; // Return internal rate of return return resultRate; } </script> You should change the selectors of your Date and Value fields, if they are placed in the different position. Selectors can be changed here: var columnDateNumber = 2; //Change based on your column position on a result set var columnValuesNumber = 3; //Change based on your column position on a result set Please find the print screen attached. Do not forget to Disable the HTML editor. Also, find the dummy application with this customization attached - XIRR_Function_1_0_2019-Aug-22_1503.zip Please let me know if you need any assistance.
  13. 1 point
    It is better to have the link to the registration page and also a link to retrieve the password in the footer of the Authentication. Edit your authentication and use the + Sign to add Header/Footer and create your hyperlinks in the Footer of the page. So the user will always see the login and two links to register or retrieve password.
  14. 1 point

    Elimate custom value on dropdown

    This is not customizable by standard features. You can either have a default value or not. But using JS. you can count the number of options in the dropdown when it is fully loaded and if there is only two then remove the first option.
  15. 1 point
    How can I format the Name in a reverse order by displaying first the first name instead of Last Name. My table has client' last name and first name in the same field, listed with last name first, with a comma, ie, Balot, Kevin. I want to reverse the name, keep them in one field, but put first names first, with no comma, ie, Kevin Balot Is there a way to do that automatically so I don't have to make the changes manually?
  16. 1 point

    Multi Select Listbox

    Hello @Jess147, The way Caspio setup their custom element for List-Strings seems more complicated that it looks. You may try adding this poorly-written code to your footer to limit the selections on your Submission Form. Currently, it only works on Multi-Select Listbox. I'll try to get back to this thread another time so we can implement a better solution and add support to Multi-Select Dropdown, as well as other types of DataPages. Cheers! DN31337 <script> setTimeout(function() { var fieldName = 'ls'; //replace with your actual field name var cbs = document.querySelectorAll(`[id*=InsertRecord${fieldName}] .Item`) cbs.forEach(function(elem) { elem.addEventListener('click', function(e) { setTimeout(function() { var counter = document.querySelectorAll(`[id*=InsertRecord${fieldName}] .Item [type=checkbox]:checked`).length; console.log(e.target, counter) if(counter > 2) { //replace with the limit you wish e.target.click(); } }, 333); }); }); console.log('deChecker ready!'); }, 1500) </script>
  17. 1 point

    Centered Report Search

    Or you can add this line on your CSS> <style> table[class*="cbFormTable"] { border: none !important; background: white; margin: 0px auto !important; } </style> Hope this helps. =)
  18. 1 point

    Centered Report Search

    Hi @joneslovescaspio, You can add the center tag and the close tag of center in the header and Footer. So basically, in your header, you need to paste this <center> <style> table[class*="cbFormTable"] { border: none !important; background: white; } </style> and in the footer just paste the end tag of center. </center> Please note that I just added a sample design for your search form using CSS. You can also change that based on what design you prefer. Hope it works. -Barbie
  19. 1 point
    @Scott Hello! Your trigger should consist of two part. First one will insert the entry into the log table if the log table does not contain the ID of a particular entry. The second will update the needed entry if it is already present within the log table. Please find the app with the example attached : FORUM_Trigger_Insert_Update_Based_on_Presence_1_0_2019-Jun-19_0714.zip
  20. 1 point
    There are some cases when the error "Values cannot be submitted due to a data restriction" occurs: 1. When there is a Formula Field in the table. Make sure that the formula in the Formula fields should not contain empty values and all the values should be cast to the one type. To make the formula correct you should wrap the fields to the isnull function to replace the Null value with 0. Also, when you perform any operations with the different data types you should convert them to the same one. 2. When the referential integrity is broken. Please follow this link for more details: https://howto.caspio.com/tables-and-views/relationships/relationship-settings/ 3. When tables or datapages are corrupted after making some changes, for example, modifying the table design, adding/removing relationships, datatype changes, etc. These actions lead to some missing constraints in the table and seem to cause an issue at the server level. You can try export and import back the datapage with dependencies.
  21. 1 point
    Got an answer to my question (Thanks so much Francis!) I got confirmation that the "Social Login Field" is not the same as the account name or the email address. For example, the Google social login field is a text string that resembles the following: "Google:123456789012345678901" Where it's the word "Google:" followed by a 21-digit number that uniquely identifies the Google account. There is a specific set of steps necessary to obtain that information which is not yet documented on the Caspio Support site. As soon as I have a chance I will append the instructions here in case anyone else ever needs to do this as well. However, the unfortunate problem is that this doesn't actually allow the desired results to be accomplished (specifcially: limiting access to a DataPage to specific Google users only by using "ID Service only"). This is because the method that is required to obtain the Google social login field is initiated by the google user, so it can't directly be used to create a list of allowed users because this causes a catch-22 situation where the Caspio admin/developer can't know the ID Service social login field without allowing the new user to login first, and once they do so, they are automatically added to the authentication data source. Therefore you basically need to allow access to all google users in order to get their unique social id which would be used to limit their access. Classic chicken & the egg dilemma. But I have an idea for how to avoid that conundrum and am working on implementing it now. Hopefully it will work...
  22. 1 point

    Multiple Fields in a Dropdown

    Hi EIQ, you can use Formula Field feature to create a field that would save the data from both First Name and Last Name fields. This article has an example: http://howto.caspio.com/tables-and-views/data-types/formula-fields/ You can then use the formula field as field for Display and for Value in the drop down.
  23. 1 point
    Hi Simon! Yes, Caspio is very exciting. Did you see the "ready-made app" for job posting websites? Everything you stated you want is already in there like Prego! Let me know if you still need help. setupyoursite@yahoo.com /RA
  24. 0 points

    Move chat box

    how do i move the chat box? It is obstructing my view of the table.
  • Create New...