Jump to content


Frog Community Genius
  • Posts

  • Joined

  • Last visited

About pconkie

Personal Information

  • School

Recent Profile Visitors

6,582 profile views

pconkie's Achievements

  1. Haven't tested this! These lines might need slight tweaks... $(this).find("option[value='"+selectedoption+"']").remove(); doStuff(this.val());
  2. Place a html widget on the page below the form. Add the script tag <script></script> Within the script tag place some JavaScript this gets a handle on the current site : $site = this.element.closest(".sites-site-content"); this gets the form on the same site as this code : $form = $site.find("div[data-name='Widget.Forms']"); this adds a listener to any selection list on the form: $form.on("change", "select", function() { dostuff() }); because frog forms pull in their data after the form is rendered you may need to wait to set these $site and $form variables then you can put your logic in dostuff() <script> //variables needed var $form, $site; var that = this; //2 second delay (2000ms) should do it. setTimeout(function() { var $site = that.element.closest(".sites-site-content"); $form = $site.find("div[data-name='Widget.Forms']"); //can remove this once working or leave - can get issues switching edit/live modes without //this wont be issue for users other than you though! $form.off("select"); $form.on("change", "select", function() { doStuff(this.val()); }); }, 2000); function doStuff(selectedoption) { $form.find("select").each(function() { $(this).find("option[value='"+selectedoption+"']").remove(); }); } </script>
  3. Thanks Graham. I'd thought about that (and using a file drop in an assignment as well) but I'm worried about a few things with the form approach. 1. Students can upload files if a file uploader is placed on the form, but I can't find a way that they can delete a previous upload. If they upload more than one photo, how will I know which photo to use? 2. I could easily download all of the files as this is built into the data viewer (and they come in a nice zip folder), but how difficult is it going to be to work out which photo has come form which student? My little test suggests that this is going to be really difficult. 3. It also isn't going to be that easy to work out who hasn't submitted an entry as the form is based on submissions rather than the members of a group.
  4. @Graham Quince Hey Graham, Could you find out what line to add to this to so that the file uploader only uploads image files? Also, if is it possible to limit the number of files to say one? Thanks '[data-action=upload] click': function(el, ev) { ev.preventDefault(); $('.os_core:first').trigger('os.app.upload', { "data": { "upload_type": "asset", "file_ext": "jpg", "site_uuid": "54AE54F3200254FB47F31FCC1EA58705E082717C10860FE0", "callback": function(result) { } } }); },
  5. Anyone got anything already created for collating a yearbook? I'd like everyone in year 11 to easily and painlessly be able to upload one photo and some text. I want to be able to proof the text and check each photo etc @ADT@Graham Quince @gbligh
  6. Anyway to set an assignment on a phone (without using MyFrog App)?
  7. If you put an image stream widget on the site (think your site will need contribute permissions) you can then use FrogSnap to quickly upload the cover photo. You can then place these css styles inside a html widget. Place this at the very bottom of the page. <style> div[data-site-uuid='915CA52220025B53FB113FB7861AFE06C06A988C073E35B0'] .timeline-item:not(:first-child), div[data-site-uuid='915CA52220025B53FB113FB7861AFE06C06A988C073E35B0'] .alert-show-more { display: none; } div[data-site-uuid='915CA52220025B53FB113FB7861AFE06C06A988C073E35B0'] .timeline-item:first-child { width:100% !important; } </style> Replace '915CA52220025B53FB113FB7861AFE06C06A988C073E35B0' with the unique id of your site (you can find this in the source code or by using the bookmarklet method described by @Graham Quince linked below. If this isn't included this css will change the appearance of every image stream! These styles will hide all but the first image (this should be the latest) and also hide the 'show more' button. You can remove the header if you like using the widget advanced settings.. The remaining image will be centred and much larger than normal so that it can be read more easily. Here is how to get your sites uuid.
  8. I've done a widget called "Check List" - I'm using it to keep track of learning objectives (no we don't have FrogProgress). but it could be used for lots of other things too. Faster and easier for the typical member of staff than FrogForms. Contribute permission required for students to submit their data to the teacher. Here is a 30 second video showing a new list of learning objectives being created (most of us have these lists already in word / excel, so wanted to literally be able to paste them all into frog in one go). new list.mp4 Here is a student filling a list in: fill out.mp4 Finally, needed a way of analysing all of the student responses. Here is a frog app called "Check Lists" which allows you to pick your list and review the submitted responses. No video because of real student names / pictures (blanked out on image below). I've borrowed heavily from the Frog Markbook for this part...
  9. If you find the uuid of the student profile group you could use one of the group apis to return all students. You might need to call a second api to get the specific details about the student you want (can’t remember what attributes are returned in the group api) but you can do this in batches rather than one at a time. You will have to go deep into promises and asynchronous code for this - argh!
  10. Since we are nominated for a sharing award... Here is our options form not letting students pick the same subject more than once 2021-02-16 14-37-29.mp4 And here is the code that does it: <style> a.disabled { pointer-events: none; cursor: default; background-color:#999 !important; } </style> <script> var $form; var that = this; var values = []; setTimeout(function() { var $site = that.element.closest(".sites-site-content"); $form = $site.find("div[data-name='Widget.Forms']"); $form.off("select"); $form.off("input[type=radio]"); $form.on("change", "select", function() { addAlltoArr(); checkArr(); }); $form.on("change", "input[type=radio]", function() { addAlltoArr(); checkArr(); }); }, 2000); function addAlltoArr() { values = []; $form.find("select").each(function() { if (this.value != "") { values.push(this.value); } }); var selected = $form.find("input[type='radio']:checked"); if (selected.length > 0) { selected.each(function() { values.push($(this).val()); }); } } function checkArr() { if (hasDuplicates(values)) { alert("You have chosen the same subject twice.\nYou will not be able to save your choices until you fix this.") $form.find("#submit_form").addClass("disabled"); } else { $form.find("#submit_form").removeClass("disabled"); } } function hasDuplicates(array) { var valuesSoFar = Object.create(null); for (var i = 0; i < array.length; ++i) { var value = array[i]; if (value in valuesSoFar) { return true; } valuesSoFar[value] = true; } return false; } </script>
  11. I changing it to a single submission with no editing and told parents to make sure they were sure before submitting! Of course we have had some emails asking for changes already, but so far this has been minimal.
  12. Added a html widget below the form. Added code to that widget to do the extra validation checks not built into frog forms. Would have been a nice solution had not the editing of frog forms been broken. Must have missed that announcement from frog...
  13. Need to check, but this might break frog seats too
  14. Sorry @Graham Quince I’m still not sure what constitutes a duplicate? Is it that you will not allow a record with the same user_uuid, target_uuid and alias? If so please don’t do this! Kids tend to get into trouble more than once! We are using one data store record per behaviour incident. Actually we use alias for the subject, but still, kids tend to get into trouble more than once per subject. At least a year of work is in jeopardy here! This allowed us to finally break free of sims and build our own behaviour system without any constraints. I can send you some example records for the developers to have a look?
  15. How are you defining ‘duplicate’ Graham? Which fields have to be the same? We have moved our entire behaviour system to frog and would like to be reassured that this change won’t break it. Thanks.
  • Create New...