Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Edit the script in the places indicated in tma 0 3 . js to read data from the chosen image and store this as an
Edit the script in the places indicated in tmajs to read data from the chosen image and store this as an image item in local storage.
marks
Task : when an image entry is added to the DOM
make an image item containing the image data, and store it in local storage
Task : when the file input element selection changes, use a filereader object to convert the file to a data URL and add an image entry to the DOM using this data URL
"use strict";
Make diary data item
@param type Type of item to create, either "text" or "image"
@param data Item data, either text or data URL
@returns JSON string to store in local storage
function makeItemtype data
var itemObject type: type, data: data ;
return JSON.stringifyitemObject;
Create and store demonstration items
function createDemoItems
console.logAdding demonstration items to local storage";
var item, data, key;
Make a demo text item
data
"Friday: We arrived to this wonderful guesthouse after a pleasant journey
"and were made most welcome by the proprietor, Mike. Looking forward to
"exploring the area tomorrow.";
item makeItemtext data;
Make a key using a fixed timestamp
key "diary" ;
Store the item in local storage
localStorage.setItemkey item;
Make a demo text item
data
"Saturday: After a super breakfast, we took advantage of one of the many
"signed walks nearby. For some of the journey this followed the path of a
"stream to a charming village.";
item makeItemtext data;
Make a key using a fixed timestamp
key "diary" ;
Store the item in local storage
localStorage.setItemkey item;
Make a demo image item
data window.DUMMYDATAURL;
item makeItemimage data;
Make a key using a fixed timestamp
key "diary" ;
Store the item in local storage
localStorage.setItemkey item;
Make a demo text item
data
"Sunday: Following a tip from Mike we drove to a gastropub at the head of
"the valley a great meal and fabulous views all round.";
item makeItemtext data;
Make a key using a fixed timestamp
key "diary" ;
Store the item in local storage
localStorage.setItemkey item;
Add a section to the page containing the given element
@param key Key of item in local storage
@param entryElement HTML element to place inside the section
function addSectionkey entryElement
Create a section element to contain the new entry
var sectionElement document.createElementsection;
Give the section a class to allow styling
sectionElementclassList.addentry;
Add the element to the section
sectionElementappendChildentryElement;
Create a button to delete the entry
var deleteButton document.createElementbutton;
deleteButton.innerHTML ;
deleteButton.setAttributearialabel", "Delete entry";
Create an event listener to delete the entry
function deleteEntry
A new version of this function is created every time addSection is called,
so it can access all the variables available in this call to addSection
console.logdeleteEntry called with variables in scope:",
key,
entryElement,
sectionElement
deleteButton,
;
Remove the section from the page
sectionElementparentNode.removeChildsectionElement;
TODO: Qcii
Remove the item from local storage by key
localStorage.removeItemitemKey;
local storage is in Block Part
Connect the event listener to the button 'click' event
deleteButton.addEventListenerclick deleteEntry;
Add the delete button to the section
sectionElementappendChilddeleteButton;
Get a reference to the element containing the diary entries
var diaryElement document.querySelectormain;
Get a reference to the first button section Add entryphoto in the diary element
var buttonElement diaryElement.querySelectorsectionbutton";
Add the section to the page after existing entries,
but before the buttons
diaryElement.insertBeforesectionElement buttonElement;
Add a text entry to the page
@param key Key of item in local storage
@param initialText Initial text of diary entry
@param isNewEntry true if this is a new entry to start typing into
function addTextEntrykey initialText, isNewEntry
Create a textarea element to edit the entry
var textareaElement document.createElementtextarea;
textareaElement.rows ;
textareaElement.placeholder new entry;
Set the textarea's value to the given text if any
textareaElement.value initialText;
Add a section to the page containing the textarea
addSectionkey textareaElement;
If this is a new entry added
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started