@@ -0,0 +1,7039 @@
1+{-# LANGUAGE DeriveDataTypeable #-}
2+{-# LANGUAGE DeriveGeneric #-}
3+{-# LANGUAGE NoImplicitPrelude #-}
4+{-# LANGUAGE OverloadedStrings #-}
5+{-# LANGUAGE RecordWildCards #-}
7+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
8+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
11+-- Module : Network.Google.Slides.Types.Product
12+-- Copyright : (c) 2015-2016 Brendan Hay
13+-- License : Mozilla Public License, v. 2.0.
14+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
15+-- Stability : auto-generated
16+-- Portability : non-portable (GHC extensions)
18+module Network.Google.Slides.Types.Product where
20+import Network.Google.Prelude
21+import Network.Google.Slides.Types.Sum
23+-- | A TextElement kind that represents the beginning of a new paragraph.
25+-- /See:/ 'paragraphMarker' smart constructor.
26+data ParagraphMarker = ParagraphMarker'
27+ { _pmStyle :: !(Maybe ParagraphStyle)
28+ , _pmBullet :: !(Maybe Bullet)
29+ } deriving (Eq,Show,Data,Typeable,Generic)
31+-- | Creates a value of 'ParagraphMarker' with the minimum fields required to make a request.
33+-- Use one of the following lenses to modify other fields as desired:
43+ , _pmBullet = Nothing
46+-- | The paragraph\'s style
47+pmStyle :: Lens' ParagraphMarker (Maybe ParagraphStyle)
48+pmStyle = lens _pmStyle (\ s a -> s{_pmStyle = a})
50+-- | The bullet for this paragraph. If not present, the paragraph does not
52+pmBullet :: Lens' ParagraphMarker (Maybe Bullet)
53+pmBullet = lens _pmBullet (\ s a -> s{_pmBullet = a})
55+instance FromJSON ParagraphMarker where
57+ = withObject "ParagraphMarker"
60+ (o .:? "style") <*> (o .:? "bullet"))
62+instance ToJSON ParagraphMarker where
63+ toJSON ParagraphMarker'{..}
66+ [("style" .=) <$> _pmStyle,
67+ ("bullet" .=) <$> _pmBullet])
69+-- | Deletes a row from a table.
71+-- /See:/ 'deleteTableRowRequest' smart constructor.
72+data DeleteTableRowRequest = DeleteTableRowRequest'
73+ { _dtrrCellLocation :: !(Maybe TableCellLocation)
74+ , _dtrrTableObjectId :: !(Maybe Text)
75+ } deriving (Eq,Show,Data,Typeable,Generic)
77+-- | Creates a value of 'DeleteTableRowRequest' with the minimum fields required to make a request.
79+-- Use one of the following lenses to modify other fields as desired:
81+-- * 'dtrrCellLocation'
83+-- * 'dtrrTableObjectId'
85+ :: DeleteTableRowRequest
86+deleteTableRowRequest =
87+ DeleteTableRowRequest'
88+ { _dtrrCellLocation = Nothing
89+ , _dtrrTableObjectId = Nothing
92+-- | The reference table cell location from which a row will be deleted. The
93+-- row this cell spans will be deleted. If this is a merged cell, multiple
94+-- rows will be deleted. If no rows remain in the table after this
95+-- deletion, the whole table is deleted.
96+dtrrCellLocation :: Lens' DeleteTableRowRequest (Maybe TableCellLocation)
98+ = lens _dtrrCellLocation
99+ (\ s a -> s{_dtrrCellLocation = a})
101+-- | The table to delete rows from.
102+dtrrTableObjectId :: Lens' DeleteTableRowRequest (Maybe Text)
104+ = lens _dtrrTableObjectId
105+ (\ s a -> s{_dtrrTableObjectId = a})
107+instance FromJSON DeleteTableRowRequest where
109+ = withObject "DeleteTableRowRequest"
111+ DeleteTableRowRequest' <$>
112+ (o .:? "cellLocation") <*> (o .:? "tableObjectId"))
114+instance ToJSON DeleteTableRowRequest where
115+ toJSON DeleteTableRowRequest'{..}
118+ [("cellLocation" .=) <$> _dtrrCellLocation,
119+ ("tableObjectId" .=) <$> _dtrrTableObjectId])
121+-- | Common properties for a page element. Note: When you initially create a
122+-- PageElement, the API may modify the values of both \`size\` and
123+-- \`transform\`, but the visual size will be unchanged.
125+-- /See:/ 'pageElementProperties' smart constructor.
126+data PageElementProperties = PageElementProperties'
127+ { _pepTransform :: !(Maybe AffineTransform)
128+ , _pepSize :: !(Maybe Size)
129+ , _pepPageObjectId :: !(Maybe Text)
130+ } deriving (Eq,Show,Data,Typeable,Generic)
132+-- | Creates a value of 'PageElementProperties' with the minimum fields required to make a request.
134+-- Use one of the following lenses to modify other fields as desired:
140+-- * 'pepPageObjectId'
141+pageElementProperties
142+ :: PageElementProperties
143+pageElementProperties =
144+ PageElementProperties'
145+ { _pepTransform = Nothing
146+ , _pepSize = Nothing
147+ , _pepPageObjectId = Nothing
150+-- | The transform for the element.
151+pepTransform :: Lens' PageElementProperties (Maybe AffineTransform)
153+ = lens _pepTransform (\ s a -> s{_pepTransform = a})
155+-- | The size of the element.
156+pepSize :: Lens' PageElementProperties (Maybe Size)
157+pepSize = lens _pepSize (\ s a -> s{_pepSize = a})
159+-- | The object ID of the page where the element is located.
160+pepPageObjectId :: Lens' PageElementProperties (Maybe Text)
162+ = lens _pepPageObjectId
163+ (\ s a -> s{_pepPageObjectId = a})
165+instance FromJSON PageElementProperties where
167+ = withObject "PageElementProperties"
169+ PageElementProperties' <$>
170+ (o .:? "transform") <*> (o .:? "size") <*>
171+ (o .:? "pageObjectId"))
173+instance ToJSON PageElementProperties where
174+ toJSON PageElementProperties'{..}
177+ [("transform" .=) <$> _pepTransform,
178+ ("size" .=) <$> _pepSize,
179+ ("pageObjectId" .=) <$> _pepPageObjectId])
181+-- | The result of replacing shapes with an image.
183+-- /See:/ 'replaceAllShapesWithImageResponse' smart constructor.
184+newtype ReplaceAllShapesWithImageResponse = ReplaceAllShapesWithImageResponse'
185+ { _raswirOccurrencesChanged :: Maybe (Textual Int32)
186+ } deriving (Eq,Show,Data,Typeable,Generic)
188+-- | Creates a value of 'ReplaceAllShapesWithImageResponse' with the minimum fields required to make a request.
190+-- Use one of the following lenses to modify other fields as desired:
192+-- * 'raswirOccurrencesChanged'
193+replaceAllShapesWithImageResponse
194+ :: ReplaceAllShapesWithImageResponse
195+replaceAllShapesWithImageResponse =
196+ ReplaceAllShapesWithImageResponse'
197+ { _raswirOccurrencesChanged = Nothing
200+-- | The number of shapes replaced with images.
201+raswirOccurrencesChanged :: Lens' ReplaceAllShapesWithImageResponse (Maybe Int32)
202+raswirOccurrencesChanged
203+ = lens _raswirOccurrencesChanged
204+ (\ s a -> s{_raswirOccurrencesChanged = a})
207+instance FromJSON ReplaceAllShapesWithImageResponse
210+ = withObject "ReplaceAllShapesWithImageResponse"
212+ ReplaceAllShapesWithImageResponse' <$>
213+ (o .:? "occurrencesChanged"))
215+instance ToJSON ReplaceAllShapesWithImageResponse
217+ toJSON ReplaceAllShapesWithImageResponse'{..}
220+ [("occurrencesChanged" .=) <$>
221+ _raswirOccurrencesChanged])
223+-- | The fill of the outline.
225+-- /See:/ 'outlineFill' smart constructor.
226+newtype OutlineFill = OutlineFill'
227+ { _ofSolidFill :: Maybe SolidFill
228+ } deriving (Eq,Show,Data,Typeable,Generic)
230+-- | Creates a value of 'OutlineFill' with the minimum fields required to make a request.
232+-- Use one of the following lenses to modify other fields as desired:
239+ { _ofSolidFill = Nothing
242+-- | Solid color fill.
243+ofSolidFill :: Lens' OutlineFill (Maybe SolidFill)
245+ = lens _ofSolidFill (\ s a -> s{_ofSolidFill = a})
247+instance FromJSON OutlineFill where
249+ = withObject "OutlineFill"
250+ (\ o -> OutlineFill' <$> (o .:? "solidFill"))
252+instance ToJSON OutlineFill where
253+ toJSON OutlineFill'{..}
255+ (catMaybes [("solidFill" .=) <$> _ofSolidFill])
257+-- | A PageElement kind representing an image.
259+-- /See:/ 'image' smart constructor.
261+ { _iImageProperties :: !(Maybe ImageProperties)
262+ , _iContentURL :: !(Maybe Text)
263+ } deriving (Eq,Show,Data,Typeable,Generic)
265+-- | Creates a value of 'Image' with the minimum fields required to make a request.
267+-- Use one of the following lenses to modify other fields as desired:
269+-- * 'iImageProperties'
276+ { _iImageProperties = Nothing
277+ , _iContentURL = Nothing
280+-- | The properties of the image.
281+iImageProperties :: Lens' Image (Maybe ImageProperties)
283+ = lens _iImageProperties
284+ (\ s a -> s{_iImageProperties = a})
286+-- | An URL to an image with a default lifetime of 30 minutes. This URL is
287+-- tagged with the account of the requester. Anyone with the URL
288+-- effectively accesses the image as the original requester. Access to the
289+-- image may be lost if the presentation\'s sharing settings change.
290+iContentURL :: Lens' Image (Maybe Text)
292+ = lens _iContentURL (\ s a -> s{_iContentURL = a})
294+instance FromJSON Image where
296+ = withObject "Image"
299+ (o .:? "imageProperties") <*> (o .:? "contentUrl"))
301+instance ToJSON Image where
305+ [("imageProperties" .=) <$> _iImageProperties,
306+ ("contentUrl" .=) <$> _iContentURL])
308+-- | Updates the properties of a Line.
310+-- /See:/ 'updateLinePropertiesRequest' smart constructor.
311+data UpdateLinePropertiesRequest = UpdateLinePropertiesRequest'
312+ { _ulprLineProperties :: !(Maybe LineProperties)
313+ , _ulprObjectId :: !(Maybe Text)
314+ , _ulprFields :: !(Maybe FieldMask)
315+ } deriving (Eq,Show,Data,Typeable,Generic)
317+-- | Creates a value of 'UpdateLinePropertiesRequest' with the minimum fields required to make a request.
319+-- Use one of the following lenses to modify other fields as desired:
321+-- * 'ulprLineProperties'
326+updateLinePropertiesRequest
327+ :: UpdateLinePropertiesRequest
328+updateLinePropertiesRequest =
329+ UpdateLinePropertiesRequest'
330+ { _ulprLineProperties = Nothing
331+ , _ulprObjectId = Nothing
332+ , _ulprFields = Nothing
335+-- | The line properties to update.
336+ulprLineProperties :: Lens' UpdateLinePropertiesRequest (Maybe LineProperties)
338+ = lens _ulprLineProperties
339+ (\ s a -> s{_ulprLineProperties = a})
341+-- | The object ID of the line the update is applied to.
342+ulprObjectId :: Lens' UpdateLinePropertiesRequest (Maybe Text)
344+ = lens _ulprObjectId (\ s a -> s{_ulprObjectId = a})
346+-- | The fields that should be updated. At least one field must be specified.
347+-- The root \`lineProperties\` is implied and should not be specified. A
348+-- single \`\"*\"\` can be used as short-hand for listing every field. For
349+-- example to update the line solid fill color, set \`fields\` to
350+-- \`\"lineFill.solidFill.color\"\`. To reset a property to its default
351+-- value, include its field name in the field mask but leave the field
353+ulprFields :: Lens' UpdateLinePropertiesRequest (Maybe FieldMask)
355+ = lens _ulprFields (\ s a -> s{_ulprFields = a})
357+instance FromJSON UpdateLinePropertiesRequest where
359+ = withObject "UpdateLinePropertiesRequest"
361+ UpdateLinePropertiesRequest' <$>
362+ (o .:? "lineProperties") <*> (o .:? "objectId") <*>
365+instance ToJSON UpdateLinePropertiesRequest where
366+ toJSON UpdateLinePropertiesRequest'{..}
369+ [("lineProperties" .=) <$> _ulprLineProperties,
370+ ("objectId" .=) <$> _ulprObjectId,
371+ ("fields" .=) <$> _ulprFields])
373+-- | The crop properties of an object enclosed in a container. For example,
374+-- an Image. The crop properties is represented by the offsets of four
375+-- edges which define a crop rectangle. The offsets are measured in
376+-- percentage from the corresponding edges of the object\'s original
377+-- bounding rectangle towards inside, relative to the object\'s original
378+-- dimensions. - If the offset is in the interval (0, 1), the corresponding
379+-- edge of crop rectangle is positioned inside of the object\'s original
380+-- bounding rectangle. - If the offset is negative or greater than 1, the
381+-- corresponding edge of crop rectangle is positioned outside of the
382+-- object\'s original bounding rectangle. - If the left edge of the crop
383+-- rectangle is on the right side of its right edge, the object will be
384+-- flipped horizontally. - If the top edge of the crop rectangle is below
385+-- its bottom edge, the object will be flipped vertically. - If all offsets
386+-- and rotation angle is 0, the object is not cropped. After cropping, the
387+-- content in the crop rectangle will be stretched to fit its container.
389+-- /See:/ 'cropProperties' smart constructor.
390+data CropProperties = CropProperties'
391+ { _cpBottomOffSet :: !(Maybe (Textual Double))
392+ , _cpTopOffSet :: !(Maybe (Textual Double))
393+ , _cpAngle :: !(Maybe (Textual Double))
394+ , _cpRightOffSet :: !(Maybe (Textual Double))
395+ , _cpLeftOffSet :: !(Maybe (Textual Double))
396+ } deriving (Eq,Show,Data,Typeable,Generic)
398+-- | Creates a value of 'CropProperties' with the minimum fields required to make a request.
400+-- Use one of the following lenses to modify other fields as desired:
402+-- * 'cpBottomOffSet'
415+ { _cpBottomOffSet = Nothing
416+ , _cpTopOffSet = Nothing
417+ , _cpAngle = Nothing
418+ , _cpRightOffSet = Nothing
419+ , _cpLeftOffSet = Nothing
422+-- | The offset specifies the bottom edge of the crop rectangle that is
423+-- located above the original bounding rectangle bottom edge, relative to
424+-- the object\'s original height.
425+cpBottomOffSet :: Lens' CropProperties (Maybe Double)
427+ = lens _cpBottomOffSet
428+ (\ s a -> s{_cpBottomOffSet = a})
431+-- | The offset specifies the top edge of the crop rectangle that is located
432+-- below the original bounding rectangle top edge, relative to the
433+-- object\'s original height.
434+cpTopOffSet :: Lens' CropProperties (Maybe Double)
436+ = lens _cpTopOffSet (\ s a -> s{_cpTopOffSet = a}) .
439+-- | The rotation angle of the crop window around its center, in radians.
440+-- Rotation angle is applied after the offset.
441+cpAngle :: Lens' CropProperties (Maybe Double)
443+ = lens _cpAngle (\ s a -> s{_cpAngle = a}) .
446+-- | The offset specifies the right edge of the crop rectangle that is
447+-- located to the left of the original bounding rectangle right edge,
448+-- relative to the object\'s original width.
449+cpRightOffSet :: Lens' CropProperties (Maybe Double)
451+ = lens _cpRightOffSet
452+ (\ s a -> s{_cpRightOffSet = a})
455+-- | The offset specifies the left edge of the crop rectangle that is located
456+-- to the right of the original bounding rectangle left edge, relative to
457+-- the object\'s original width.
458+cpLeftOffSet :: Lens' CropProperties (Maybe Double)
460+ = lens _cpLeftOffSet (\ s a -> s{_cpLeftOffSet = a})
463+instance FromJSON CropProperties where
465+ = withObject "CropProperties"
468+ (o .:? "bottomOffset") <*> (o .:? "topOffset") <*>
470+ <*> (o .:? "rightOffset")
471+ <*> (o .:? "leftOffset"))
473+instance ToJSON CropProperties where
474+ toJSON CropProperties'{..}
477+ [("bottomOffset" .=) <$> _cpBottomOffSet,
478+ ("topOffset" .=) <$> _cpTopOffSet,
479+ ("angle" .=) <$> _cpAngle,
480+ ("rightOffset" .=) <$> _cpRightOffSet,
481+ ("leftOffset" .=) <$> _cpLeftOffSet])
483+-- | The properties of the Line. When unset, these fields default to values
484+-- that match the appearance of new lines created in the Slides editor.
486+-- /See:/ 'lineProperties' smart constructor.
487+data LineProperties = LineProperties'
488+ { _lpWeight :: !(Maybe Dimension)
489+ , _lpLink :: !(Maybe Link)
490+ , _lpDashStyle :: !(Maybe LinePropertiesDashStyle)
491+ , _lpStartArrow :: !(Maybe LinePropertiesStartArrow)
492+ , _lpLineFill :: !(Maybe LineFill)
493+ , _lpEndArrow :: !(Maybe LinePropertiesEndArrow)
494+ } deriving (Eq,Show,Data,Typeable,Generic)
496+-- | Creates a value of 'LineProperties' with the minimum fields required to make a request.
498+-- Use one of the following lenses to modify other fields as desired:
515+ { _lpWeight = Nothing
517+ , _lpDashStyle = Nothing
518+ , _lpStartArrow = Nothing
519+ , _lpLineFill = Nothing
520+ , _lpEndArrow = Nothing
523+-- | The thickness of the line.
524+lpWeight :: Lens' LineProperties (Maybe Dimension)
525+lpWeight = lens _lpWeight (\ s a -> s{_lpWeight = a})
527+-- | The hyperlink destination of the line. If unset, there is no link.
528+lpLink :: Lens' LineProperties (Maybe Link)
529+lpLink = lens _lpLink (\ s a -> s{_lpLink = a})
531+-- | The dash style of the line.
532+lpDashStyle :: Lens' LineProperties (Maybe LinePropertiesDashStyle)
534+ = lens _lpDashStyle (\ s a -> s{_lpDashStyle = a})
536+-- | The style of the arrow at the beginning of the line.
537+lpStartArrow :: Lens' LineProperties (Maybe LinePropertiesStartArrow)
539+ = lens _lpStartArrow (\ s a -> s{_lpStartArrow = a})
541+-- | The fill of the line. The default line fill matches the defaults for new
542+-- lines created in the Slides editor.
543+lpLineFill :: Lens' LineProperties (Maybe LineFill)
545+ = lens _lpLineFill (\ s a -> s{_lpLineFill = a})
547+-- | The style of the arrow at the end of the line.
548+lpEndArrow :: Lens' LineProperties (Maybe LinePropertiesEndArrow)
550+ = lens _lpEndArrow (\ s a -> s{_lpEndArrow = a})
552+instance FromJSON LineProperties where
554+ = withObject "LineProperties"
557+ (o .:? "weight") <*> (o .:? "link") <*>
559+ <*> (o .:? "startArrow")
560+ <*> (o .:? "lineFill")
561+ <*> (o .:? "endArrow"))
563+instance ToJSON LineProperties where
564+ toJSON LineProperties'{..}
567+ [("weight" .=) <$> _lpWeight,
568+ ("link" .=) <$> _lpLink,
569+ ("dashStyle" .=) <$> _lpDashStyle,
570+ ("startArrow" .=) <$> _lpStartArrow,
571+ ("lineFill" .=) <$> _lpLineFill,
572+ ("endArrow" .=) <$> _lpEndArrow])
574+-- | A PageElement kind representing a joined collection of PageElements.
576+-- /See:/ 'group'' smart constructor.
577+newtype Group = Group'
578+ { _gChildren :: Maybe [PageElement]
579+ } deriving (Eq,Show,Data,Typeable,Generic)
581+-- | Creates a value of 'Group' with the minimum fields required to make a request.
583+-- Use one of the following lenses to modify other fields as desired:
590+ { _gChildren = Nothing
593+-- | The collection of elements in the group. The minimum size of a group is
595+gChildren :: Lens' Group [PageElement]
597+ = lens _gChildren (\ s a -> s{_gChildren = a}) .
601+instance FromJSON Group where
603+ = withObject "Group"
604+ (\ o -> Group' <$> (o .:? "children" .!= mempty))
606+instance ToJSON Group where
608+ = object (catMaybes [("children" .=) <$> _gChildren])
610+-- | Request message for PresentationsService.BatchUpdatePresentation.
612+-- /See:/ 'batchUpdatePresentationRequest' smart constructor.
613+newtype BatchUpdatePresentationRequest = BatchUpdatePresentationRequest'
614+ { _buprRequests :: Maybe [Request']
615+ } deriving (Eq,Show,Data,Typeable,Generic)
617+-- | Creates a value of 'BatchUpdatePresentationRequest' with the minimum fields required to make a request.
619+-- Use one of the following lenses to modify other fields as desired:
622+batchUpdatePresentationRequest
623+ :: BatchUpdatePresentationRequest
624+batchUpdatePresentationRequest =
625+ BatchUpdatePresentationRequest'
626+ { _buprRequests = Nothing
629+-- | A list of updates to apply to the presentation.
630+buprRequests :: Lens' BatchUpdatePresentationRequest [Request']
632+ = lens _buprRequests (\ s a -> s{_buprRequests = a})
636+instance FromJSON BatchUpdatePresentationRequest
639+ = withObject "BatchUpdatePresentationRequest"
641+ BatchUpdatePresentationRequest' <$>
642+ (o .:? "requests" .!= mempty))
644+instance ToJSON BatchUpdatePresentationRequest where
645+ toJSON BatchUpdatePresentationRequest'{..}
647+ (catMaybes [("requests" .=) <$> _buprRequests])
649+-- | Creates a new shape.
651+-- /See:/ 'createShapeRequest' smart constructor.
652+data CreateShapeRequest = CreateShapeRequest'
653+ { _csrShapeType :: !(Maybe CreateShapeRequestShapeType)
654+ , _csrObjectId :: !(Maybe Text)
655+ , _csrElementProperties :: !(Maybe PageElementProperties)
656+ } deriving (Eq,Show,Data,Typeable,Generic)
658+-- | Creates a value of 'CreateShapeRequest' with the minimum fields required to make a request.
660+-- Use one of the following lenses to modify other fields as desired:
666+-- * 'csrElementProperties'
668+ :: CreateShapeRequest
671+ { _csrShapeType = Nothing
672+ , _csrObjectId = Nothing
673+ , _csrElementProperties = Nothing
677+csrShapeType :: Lens' CreateShapeRequest (Maybe CreateShapeRequestShapeType)
679+ = lens _csrShapeType (\ s a -> s{_csrShapeType = a})
681+-- | A user-supplied object ID. If you specify an ID, it must be unique among
682+-- all pages and page elements in the presentation. The ID must start with
683+-- an alphanumeric character or an underscore (matches regex
684+-- \`[a-zA-Z0-9_]\`); remaining characters may include those as well as a
685+-- hyphen or colon (matches regex \`[a-zA-Z0-9_-:]\`). The length of the ID
686+-- must not be less than 5 or greater than 50. If empty, a unique
687+-- identifier will be generated.
688+csrObjectId :: Lens' CreateShapeRequest (Maybe Text)
690+ = lens _csrObjectId (\ s a -> s{_csrObjectId = a})
692+-- | The element properties for the shape.
693+csrElementProperties :: Lens' CreateShapeRequest (Maybe PageElementProperties)
695+ = lens _csrElementProperties
696+ (\ s a -> s{_csrElementProperties = a})
698+instance FromJSON CreateShapeRequest where
700+ = withObject "CreateShapeRequest"
702+ CreateShapeRequest' <$>
703+ (o .:? "shapeType") <*> (o .:? "objectId") <*>
704+ (o .:? "elementProperties"))
706+instance ToJSON CreateShapeRequest where
707+ toJSON CreateShapeRequest'{..}
710+ [("shapeType" .=) <$> _csrShapeType,
711+ ("objectId" .=) <$> _csrObjectId,
712+ ("elementProperties" .=) <$> _csrElementProperties])
714+-- | A TextElement kind that represents auto text.
716+-- /See:/ 'autoText' smart constructor.
717+data AutoText = AutoText'
718+ { _atStyle :: !(Maybe TextStyle)
719+ , _atContent :: !(Maybe Text)
720+ , _atType :: !(Maybe AutoTextType)
721+ } deriving (Eq,Show,Data,Typeable,Generic)
723+-- | Creates a value of 'AutoText' with the minimum fields required to make a request.
725+-- Use one of the following lenses to modify other fields as desired:
736+ { _atStyle = Nothing
737+ , _atContent = Nothing
741+-- | The styling applied to this auto text.
742+atStyle :: Lens' AutoText (Maybe TextStyle)
743+atStyle = lens _atStyle (\ s a -> s{_atStyle = a})
745+-- | The rendered content of this auto text, if available.
746+atContent :: Lens' AutoText (Maybe Text)
748+ = lens _atContent (\ s a -> s{_atContent = a})
750+-- | The type of this auto text.
751+atType :: Lens' AutoText (Maybe AutoTextType)
752+atType = lens _atType (\ s a -> s{_atType = a})
754+instance FromJSON AutoText where
756+ = withObject "AutoText"
759+ (o .:? "style") <*> (o .:? "content") <*>
762+instance ToJSON AutoText where
763+ toJSON AutoText'{..}
766+ [("style" .=) <$> _atStyle,
767+ ("content" .=) <$> _atContent,
768+ ("type" .=) <$> _atType])
770+-- | A List describes the look and feel of bullets belonging to paragraphs
771+-- associated with a list. A paragraph that is part of a list has an
772+-- implicit reference to that list\'s ID.
774+-- /See:/ 'list' smart constructor.
776+ { _lListId :: !(Maybe Text)
777+ , _lNestingLevel :: !(Maybe ListNestingLevel)
778+ } deriving (Eq,Show,Data,Typeable,Generic)
780+-- | Creates a value of 'List' with the minimum fields required to make a request.
782+-- Use one of the following lenses to modify other fields as desired:
791+ { _lListId = Nothing
792+ , _lNestingLevel = Nothing
795+-- | The ID of the list.
796+lListId :: Lens' List (Maybe Text)
797+lListId = lens _lListId (\ s a -> s{_lListId = a})
799+-- | A map of nesting levels to the properties of bullets at the associated
800+-- level. A list has at most nine levels of nesting, so the possible values
801+-- for the keys of this map are 0 through 8, inclusive.
802+lNestingLevel :: Lens' List (Maybe ListNestingLevel)
804+ = lens _lNestingLevel
805+ (\ s a -> s{_lNestingLevel = a})
807+instance FromJSON List where
812+ (o .:? "listId") <*> (o .:? "nestingLevel"))
814+instance ToJSON List where
818+ [("listId" .=) <$> _lListId,
819+ ("nestingLevel" .=) <$> _lNestingLevel])
823+-- /See:/ 'rgbColor' smart constructor.
824+data RgbColor = RgbColor'
825+ { _rcRed :: !(Maybe (Textual Double))
826+ , _rcGreen :: !(Maybe (Textual Double))
827+ , _rcBlue :: !(Maybe (Textual Double))
828+ } deriving (Eq,Show,Data,Typeable,Generic)
830+-- | Creates a value of 'RgbColor' with the minimum fields required to make a request.
832+-- Use one of the following lenses to modify other fields as desired:
844+ , _rcGreen = Nothing
848+-- | The red component of the color, from 0.0 to 1.0.
849+rcRed :: Lens' RgbColor (Maybe Double)
851+ = lens _rcRed (\ s a -> s{_rcRed = a}) .
854+-- | The green component of the color, from 0.0 to 1.0.
855+rcGreen :: Lens' RgbColor (Maybe Double)
857+ = lens _rcGreen (\ s a -> s{_rcGreen = a}) .
860+-- | The blue component of the color, from 0.0 to 1.0.
861+rcBlue :: Lens' RgbColor (Maybe Double)
863+ = lens _rcBlue (\ s a -> s{_rcBlue = a}) .
866+instance FromJSON RgbColor where
868+ = withObject "RgbColor"
871+ (o .:? "red") <*> (o .:? "green") <*> (o .:? "blue"))
873+instance ToJSON RgbColor where
874+ toJSON RgbColor'{..}
877+ [("red" .=) <$> _rcRed, ("green" .=) <$> _rcGreen,
878+ ("blue" .=) <$> _rcBlue])
880+-- | Updates the properties of a Page.
882+-- /See:/ 'updatePagePropertiesRequest' smart constructor.
883+data UpdatePagePropertiesRequest = UpdatePagePropertiesRequest'
884+ { _upprObjectId :: !(Maybe Text)
885+ , _upprPageProperties :: !(Maybe PageProperties)
886+ , _upprFields :: !(Maybe FieldMask)
887+ } deriving (Eq,Show,Data,Typeable,Generic)
889+-- | Creates a value of 'UpdatePagePropertiesRequest' with the minimum fields required to make a request.
891+-- Use one of the following lenses to modify other fields as desired:
895+-- * 'upprPageProperties'
898+updatePagePropertiesRequest
899+ :: UpdatePagePropertiesRequest
900+updatePagePropertiesRequest =
901+ UpdatePagePropertiesRequest'
902+ { _upprObjectId = Nothing
903+ , _upprPageProperties = Nothing
904+ , _upprFields = Nothing
907+-- | The object ID of the page the update is applied to.
908+upprObjectId :: Lens' UpdatePagePropertiesRequest (Maybe Text)
910+ = lens _upprObjectId (\ s a -> s{_upprObjectId = a})
912+-- | The page properties to update.
913+upprPageProperties :: Lens' UpdatePagePropertiesRequest (Maybe PageProperties)
915+ = lens _upprPageProperties
916+ (\ s a -> s{_upprPageProperties = a})
918+-- | The fields that should be updated. At least one field must be specified.
919+-- The root \`pageProperties\` is implied and should not be specified. A
920+-- single \`\"*\"\` can be used as short-hand for listing every field. For
921+-- example to update the page background solid fill color, set \`fields\`
922+-- to \`\"pageBackgroundFill.solidFill.color\"\`. To reset a property to
923+-- its default value, include its field name in the field mask but leave
924+-- the field itself unset.
925+upprFields :: Lens' UpdatePagePropertiesRequest (Maybe FieldMask)
927+ = lens _upprFields (\ s a -> s{_upprFields = a})
929+instance FromJSON UpdatePagePropertiesRequest where
931+ = withObject "UpdatePagePropertiesRequest"
933+ UpdatePagePropertiesRequest' <$>
934+ (o .:? "objectId") <*> (o .:? "pageProperties") <*>
937+instance ToJSON UpdatePagePropertiesRequest where
938+ toJSON UpdatePagePropertiesRequest'{..}
941+ [("objectId" .=) <$> _upprObjectId,
942+ ("pageProperties" .=) <$> _upprPageProperties,
943+ ("fields" .=) <$> _upprFields])
945+-- | Creates an embedded Google Sheets chart. NOTE: Chart creation requires
946+-- at least one of the spreadsheets.readonly, spreadsheets, drive.readonly,
947+-- or drive OAuth scopes.
949+-- /See:/ 'createSheetsChartRequest' smart constructor.
950+data CreateSheetsChartRequest = CreateSheetsChartRequest'
951+ { _cscrObjectId :: !(Maybe Text)
952+ , _cscrSpreadsheetId :: !(Maybe Text)
953+ , _cscrLinkingMode :: !(Maybe CreateSheetsChartRequestLinkingMode)
954+ , _cscrElementProperties :: !(Maybe PageElementProperties)
955+ , _cscrChartId :: !(Maybe (Textual Int32))
956+ } deriving (Eq,Show,Data,Typeable,Generic)
958+-- | Creates a value of 'CreateSheetsChartRequest' with the minimum fields required to make a request.
960+-- Use one of the following lenses to modify other fields as desired:
964+-- * 'cscrSpreadsheetId'
966+-- * 'cscrLinkingMode'
968+-- * 'cscrElementProperties'
971+createSheetsChartRequest
972+ :: CreateSheetsChartRequest
973+createSheetsChartRequest =
974+ CreateSheetsChartRequest'
975+ { _cscrObjectId = Nothing
976+ , _cscrSpreadsheetId = Nothing
977+ , _cscrLinkingMode = Nothing
978+ , _cscrElementProperties = Nothing
979+ , _cscrChartId = Nothing
982+-- | A user-supplied object ID. If specified, the ID must be unique among all
983+-- pages and page elements in the presentation. The ID should start with a
984+-- word character [a-zA-Z0-9_] and then followed by any number of the
985+-- following characters [a-zA-Z0-9_-:]. The length of the ID should not be
986+-- less than 5 or greater than 50. If empty, a unique identifier will be
988+cscrObjectId :: Lens' CreateSheetsChartRequest (Maybe Text)
990+ = lens _cscrObjectId (\ s a -> s{_cscrObjectId = a})
992+-- | The ID of the Google Sheets spreadsheet that contains the chart.
993+cscrSpreadsheetId :: Lens' CreateSheetsChartRequest (Maybe Text)
995+ = lens _cscrSpreadsheetId
996+ (\ s a -> s{_cscrSpreadsheetId = a})
998+-- | The mode with which the chart is linked to the source spreadsheet. When
999+-- not specified, the chart will be an image that is not linked.
1000+cscrLinkingMode :: Lens' CreateSheetsChartRequest (Maybe CreateSheetsChartRequestLinkingMode)
1002+ = lens _cscrLinkingMode
1003+ (\ s a -> s{_cscrLinkingMode = a})
1005+-- | The element properties for the chart. When the aspect ratio of the
1006+-- provided size does not match the chart aspect ratio, the chart is scaled
1007+-- and centered with respect to the size in order to maintain aspect ratio.
1008+-- The provided transform is applied after this operation.
1009+cscrElementProperties :: Lens' CreateSheetsChartRequest (Maybe PageElementProperties)
1010+cscrElementProperties
1011+ = lens _cscrElementProperties
1012+ (\ s a -> s{_cscrElementProperties = a})
1014+-- | The ID of the specific chart in the Google Sheets spreadsheet.
1015+cscrChartId :: Lens' CreateSheetsChartRequest (Maybe Int32)
1017+ = lens _cscrChartId (\ s a -> s{_cscrChartId = a}) .
1020+instance FromJSON CreateSheetsChartRequest where
1022+ = withObject "CreateSheetsChartRequest"
1024+ CreateSheetsChartRequest' <$>
1025+ (o .:? "objectId") <*> (o .:? "spreadsheetId") <*>
1026+ (o .:? "linkingMode")
1027+ <*> (o .:? "elementProperties")
1028+ <*> (o .:? "chartId"))
1030+instance ToJSON CreateSheetsChartRequest where
1031+ toJSON CreateSheetsChartRequest'{..}
1034+ [("objectId" .=) <$> _cscrObjectId,
1035+ ("spreadsheetId" .=) <$> _cscrSpreadsheetId,
1036+ ("linkingMode" .=) <$> _cscrLinkingMode,
1037+ ("elementProperties" .=) <$> _cscrElementProperties,
1038+ ("chartId" .=) <$> _cscrChartId])
1040+-- | Deletes text from a shape or a table cell.
1042+-- /See:/ 'deleteTextRequest' smart constructor.
1043+data DeleteTextRequest = DeleteTextRequest'
1044+ { _dtrTextRange :: !(Maybe Range)
1045+ , _dtrObjectId :: !(Maybe Text)
1046+ , _dtrCellLocation :: !(Maybe TableCellLocation)
1047+ } deriving (Eq,Show,Data,Typeable,Generic)
1049+-- | Creates a value of 'DeleteTextRequest' with the minimum fields required to make a request.
1051+-- Use one of the following lenses to modify other fields as desired:
1057+-- * 'dtrCellLocation'
1059+ :: DeleteTextRequest
1062+ { _dtrTextRange = Nothing
1063+ , _dtrObjectId = Nothing
1064+ , _dtrCellLocation = Nothing
1067+-- | The range of text to delete, based on TextElement indexes. There is
1068+-- always an implicit newline character at the end of a shape\'s or table
1069+-- cell\'s text that cannot be deleted. \`Range.Type.ALL\` will use the
1070+-- correct bounds, but care must be taken when specifying explicit bounds
1071+-- for range types \`FROM_START_INDEX\` and \`FIXED_RANGE\`. For example,
1072+-- if the text is \"ABC\", followed by an implicit newline, then the
1073+-- maximum value is 2 for \`text_range.start_index\` and 3 for
1074+-- \`text_range.end_index\`. Deleting text that crosses a paragraph
1075+-- boundary may result in changes to paragraph styles and lists as the two
1076+-- paragraphs are merged. Ranges that include only one code unit of a
1077+-- surrogate pair are expanded to include both code units.
1078+dtrTextRange :: Lens' DeleteTextRequest (Maybe Range)
1080+ = lens _dtrTextRange (\ s a -> s{_dtrTextRange = a})
1082+-- | The object ID of the shape or table from which the text will be deleted.
1083+dtrObjectId :: Lens' DeleteTextRequest (Maybe Text)
1085+ = lens _dtrObjectId (\ s a -> s{_dtrObjectId = a})
1087+-- | The optional table cell location if the text is to be deleted from a
1088+-- table cell. If present, the object_id must refer to a table.
1089+dtrCellLocation :: Lens' DeleteTextRequest (Maybe TableCellLocation)
1091+ = lens _dtrCellLocation
1092+ (\ s a -> s{_dtrCellLocation = a})
1094+instance FromJSON DeleteTextRequest where
1096+ = withObject "DeleteTextRequest"
1098+ DeleteTextRequest' <$>
1099+ (o .:? "textRange") <*> (o .:? "objectId") <*>
1100+ (o .:? "cellLocation"))
1102+instance ToJSON DeleteTextRequest where
1103+ toJSON DeleteTextRequest'{..}
1106+ [("textRange" .=) <$> _dtrTextRange,
1107+ ("objectId" .=) <$> _dtrObjectId,
1108+ ("cellLocation" .=) <$> _dtrCellLocation])
1110+-- | Inserts columns into a table. Other columns in the table will be resized
1111+-- to fit the new column.
1113+-- /See:/ 'insertTableColumnsRequest' smart constructor.
1114+data InsertTableColumnsRequest = InsertTableColumnsRequest'
1115+ { _itcrInsertRight :: !(Maybe Bool)
1116+ , _itcrNumber :: !(Maybe (Textual Int32))
1117+ , _itcrCellLocation :: !(Maybe TableCellLocation)
1118+ , _itcrTableObjectId :: !(Maybe Text)
1119+ } deriving (Eq,Show,Data,Typeable,Generic)
1121+-- | Creates a value of 'InsertTableColumnsRequest' with the minimum fields required to make a request.
1123+-- Use one of the following lenses to modify other fields as desired:
1125+-- * 'itcrInsertRight'
1129+-- * 'itcrCellLocation'
1131+-- * 'itcrTableObjectId'
1132+insertTableColumnsRequest
1133+ :: InsertTableColumnsRequest
1134+insertTableColumnsRequest =
1135+ InsertTableColumnsRequest'
1136+ { _itcrInsertRight = Nothing
1137+ , _itcrNumber = Nothing
1138+ , _itcrCellLocation = Nothing
1139+ , _itcrTableObjectId = Nothing
1142+-- | Whether to insert new columns to the right of the reference cell
1143+-- location. - \`True\`: insert to the right. - \`False\`: insert to the
1145+itcrInsertRight :: Lens' InsertTableColumnsRequest (Maybe Bool)
1147+ = lens _itcrInsertRight
1148+ (\ s a -> s{_itcrInsertRight = a})
1150+-- | The number of columns to be inserted. Maximum 20 per request.
1151+itcrNumber :: Lens' InsertTableColumnsRequest (Maybe Int32)
1153+ = lens _itcrNumber (\ s a -> s{_itcrNumber = a}) .
1156+-- | The reference table cell location from which columns will be inserted. A
1157+-- new column will be inserted to the left (or right) of the column where
1158+-- the reference cell is. If the reference cell is a merged cell, a new
1159+-- column will be inserted to the left (or right) of the merged cell.
1160+itcrCellLocation :: Lens' InsertTableColumnsRequest (Maybe TableCellLocation)
1162+ = lens _itcrCellLocation
1163+ (\ s a -> s{_itcrCellLocation = a})
1165+-- | The table to insert columns into.
1166+itcrTableObjectId :: Lens' InsertTableColumnsRequest (Maybe Text)
1168+ = lens _itcrTableObjectId
1169+ (\ s a -> s{_itcrTableObjectId = a})
1171+instance FromJSON InsertTableColumnsRequest where
1173+ = withObject "InsertTableColumnsRequest"
1175+ InsertTableColumnsRequest' <$>
1176+ (o .:? "insertRight") <*> (o .:? "number") <*>
1177+ (o .:? "cellLocation")
1178+ <*> (o .:? "tableObjectId"))
1180+instance ToJSON InsertTableColumnsRequest where
1181+ toJSON InsertTableColumnsRequest'{..}
1184+ [("insertRight" .=) <$> _itcrInsertRight,
1185+ ("number" .=) <$> _itcrNumber,
1186+ ("cellLocation" .=) <$> _itcrCellLocation,
1187+ ("tableObjectId" .=) <$> _itcrTableObjectId])
1189+-- | The bulleted lists contained in this text, keyed by list ID.
1191+-- /See:/ 'textContentLists' smart constructor.
1192+newtype TextContentLists = TextContentLists'
1193+ { _tclAddtional :: HashMap Text List
1194+ } deriving (Eq,Show,Data,Typeable,Generic)
1196+-- | Creates a value of 'TextContentLists' with the minimum fields required to make a request.
1198+-- Use one of the following lenses to modify other fields as desired:
1202+ :: HashMap Text List -- ^ 'tclAddtional'
1203+ -> TextContentLists
1204+textContentLists pTclAddtional_ =
1206+ { _tclAddtional = _Coerce # pTclAddtional_
1209+tclAddtional :: Lens' TextContentLists (HashMap Text List)
1211+ = lens _tclAddtional (\ s a -> s{_tclAddtional = a})
1214+instance FromJSON TextContentLists where
1216+ = withObject "TextContentLists"
1217+ (\ o -> TextContentLists' <$> (parseJSONObject o))
1219+instance ToJSON TextContentLists where
1220+ toJSON = toJSON . _tclAddtional
1222+-- | A width and height.
1224+-- /See:/ 'size' smart constructor.
1226+ { _sHeight :: !(Maybe Dimension)
1227+ , _sWidth :: !(Maybe Dimension)
1228+ } deriving (Eq,Show,Data,Typeable,Generic)
1230+-- | Creates a value of 'Size' with the minimum fields required to make a request.
1232+-- Use one of the following lenses to modify other fields as desired:
1241+ { _sHeight = Nothing
1242+ , _sWidth = Nothing
1245+-- | The height of the object.
1246+sHeight :: Lens' Size (Maybe Dimension)
1247+sHeight = lens _sHeight (\ s a -> s{_sHeight = a})
1249+-- | The width of the object.
1250+sWidth :: Lens' Size (Maybe Dimension)
1251+sWidth = lens _sWidth (\ s a -> s{_sWidth = a})
1253+instance FromJSON Size where
1255+ = withObject "Size"
1257+ Size' <$> (o .:? "height") <*> (o .:? "width"))
1259+instance ToJSON Size where
1263+ [("height" .=) <$> _sHeight,
1264+ ("width" .=) <$> _sWidth])
1266+-- | The stretched picture fill. The page or page element is filled entirely
1267+-- with the specified picture. The picture is stretched to fit its
1270+-- /See:/ 'stretchedPictureFill' smart constructor.
1271+data StretchedPictureFill = StretchedPictureFill'
1272+ { _spfSize :: !(Maybe Size)
1273+ , _spfContentURL :: !(Maybe Text)
1274+ } deriving (Eq,Show,Data,Typeable,Generic)
1276+-- | Creates a value of 'StretchedPictureFill' with the minimum fields required to make a request.
1278+-- Use one of the following lenses to modify other fields as desired:
1282+-- * 'spfContentURL'
1283+stretchedPictureFill
1284+ :: StretchedPictureFill
1285+stretchedPictureFill =
1286+ StretchedPictureFill'
1287+ { _spfSize = Nothing
1288+ , _spfContentURL = Nothing
1291+-- | The original size of the picture fill. This field is read-only.
1292+spfSize :: Lens' StretchedPictureFill (Maybe Size)
1293+spfSize = lens _spfSize (\ s a -> s{_spfSize = a})
1295+-- | Reading the content_url: An URL to a picture with a default lifetime of
1296+-- 30 minutes. This URL is tagged with the account of the requester. Anyone
1297+-- with the URL effectively accesses the picture as the original requester.
1298+-- Access to the picture may be lost if the presentation\'s sharing
1299+-- settings change. Writing the content_url: The picture is fetched once at
1300+-- insertion time and a copy is stored for display inside the presentation.
1301+-- Pictures must be less than 50MB in size, cannot exceed 25 megapixels,
1302+-- and must be in either in PNG, JPEG, or GIF format.
1303+spfContentURL :: Lens' StretchedPictureFill (Maybe Text)
1305+ = lens _spfContentURL
1306+ (\ s a -> s{_spfContentURL = a})
1308+instance FromJSON StretchedPictureFill where
1310+ = withObject "StretchedPictureFill"
1312+ StretchedPictureFill' <$>
1313+ (o .:? "size") <*> (o .:? "contentUrl"))
1315+instance ToJSON StretchedPictureFill where
1316+ toJSON StretchedPictureFill'{..}
1319+ [("size" .=) <$> _spfSize,
1320+ ("contentUrl" .=) <$> _spfContentURL])
1322+-- | A PageElement kind representing a linked chart embedded from Google
1325+-- /See:/ 'sheetsChart' smart constructor.
1326+data SheetsChart = SheetsChart'
1327+ { _scSpreadsheetId :: !(Maybe Text)
1328+ , _scContentURL :: !(Maybe Text)
1329+ , _scSheetsChartProperties :: !(Maybe SheetsChartProperties)
1330+ , _scChartId :: !(Maybe (Textual Int32))
1331+ } deriving (Eq,Show,Data,Typeable,Generic)
1333+-- | Creates a value of 'SheetsChart' with the minimum fields required to make a request.
1335+-- Use one of the following lenses to modify other fields as desired:
1337+-- * 'scSpreadsheetId'
1341+-- * 'scSheetsChartProperties'
1348+ { _scSpreadsheetId = Nothing
1349+ , _scContentURL = Nothing
1350+ , _scSheetsChartProperties = Nothing
1351+ , _scChartId = Nothing
1354+-- | The ID of the Google Sheets spreadsheet that contains the source chart.
1355+scSpreadsheetId :: Lens' SheetsChart (Maybe Text)
1357+ = lens _scSpreadsheetId
1358+ (\ s a -> s{_scSpreadsheetId = a})
1360+-- | The URL of an image of the embedded chart, with a default lifetime of 30
1361+-- minutes. This URL is tagged with the account of the requester. Anyone
1362+-- with the URL effectively accesses the image as the original requester.
1363+-- Access to the image may be lost if the presentation\'s sharing settings
1365+scContentURL :: Lens' SheetsChart (Maybe Text)
1367+ = lens _scContentURL (\ s a -> s{_scContentURL = a})
1369+-- | The properties of the Sheets chart.
1370+scSheetsChartProperties :: Lens' SheetsChart (Maybe SheetsChartProperties)
1371+scSheetsChartProperties
1372+ = lens _scSheetsChartProperties
1373+ (\ s a -> s{_scSheetsChartProperties = a})
1375+-- | The ID of the specific chart in the Google Sheets spreadsheet that is
1377+scChartId :: Lens' SheetsChart (Maybe Int32)
1379+ = lens _scChartId (\ s a -> s{_scChartId = a}) .
1382+instance FromJSON SheetsChart where
1384+ = withObject "SheetsChart"
1387+ (o .:? "spreadsheetId") <*> (o .:? "contentUrl") <*>
1388+ (o .:? "sheetsChartProperties")
1389+ <*> (o .:? "chartId"))
1391+instance ToJSON SheetsChart where
1392+ toJSON SheetsChart'{..}
1395+ [("spreadsheetId" .=) <$> _scSpreadsheetId,
1396+ ("contentUrl" .=) <$> _scContentURL,
1397+ ("sheetsChartProperties" .=) <$>
1398+ _scSheetsChartProperties,
1399+ ("chartId" .=) <$> _scChartId])
1401+-- | The result of creating a shape.
1403+-- /See:/ 'createShapeResponse' smart constructor.
1404+newtype CreateShapeResponse = CreateShapeResponse'
1405+ { _cObjectId :: Maybe Text
1406+ } deriving (Eq,Show,Data,Typeable,Generic)
1408+-- | Creates a value of 'CreateShapeResponse' with the minimum fields required to make a request.
1410+-- Use one of the following lenses to modify other fields as desired:
1414+ :: CreateShapeResponse
1415+createShapeResponse =
1416+ CreateShapeResponse'
1417+ { _cObjectId = Nothing
1420+-- | The object ID of the created shape.
1421+cObjectId :: Lens' CreateShapeResponse (Maybe Text)
1423+ = lens _cObjectId (\ s a -> s{_cObjectId = a})
1425+instance FromJSON CreateShapeResponse where
1427+ = withObject "CreateShapeResponse"
1428+ (\ o -> CreateShapeResponse' <$> (o .:? "objectId"))
1430+instance ToJSON CreateShapeResponse where
1431+ toJSON CreateShapeResponse'{..}
1432+ = object (catMaybes [("objectId" .=) <$> _cObjectId])
1434+-- | Deletes a column from a table.
1436+-- /See:/ 'deleteTableColumnRequest' smart constructor.
1437+data DeleteTableColumnRequest = DeleteTableColumnRequest'
1438+ { _dtcrCellLocation :: !(Maybe TableCellLocation)
1439+ , _dtcrTableObjectId :: !(Maybe Text)
1440+ } deriving (Eq,Show,Data,Typeable,Generic)
1442+-- | Creates a value of 'DeleteTableColumnRequest' with the minimum fields required to make a request.
1444+-- Use one of the following lenses to modify other fields as desired:
1446+-- * 'dtcrCellLocation'
1448+-- * 'dtcrTableObjectId'
1449+deleteTableColumnRequest
1450+ :: DeleteTableColumnRequest
1451+deleteTableColumnRequest =
1452+ DeleteTableColumnRequest'
1453+ { _dtcrCellLocation = Nothing
1454+ , _dtcrTableObjectId = Nothing
1457+-- | The reference table cell location from which a column will be deleted.
1458+-- The column this cell spans will be deleted. If this is a merged cell,
1459+-- multiple columns will be deleted. If no columns remain in the table
1460+-- after this deletion, the whole table is deleted.
1461+dtcrCellLocation :: Lens' DeleteTableColumnRequest (Maybe TableCellLocation)
1463+ = lens _dtcrCellLocation
1464+ (\ s a -> s{_dtcrCellLocation = a})
1466+-- | The table to delete columns from.
1467+dtcrTableObjectId :: Lens' DeleteTableColumnRequest (Maybe Text)
1469+ = lens _dtcrTableObjectId
1470+ (\ s a -> s{_dtcrTableObjectId = a})
1472+instance FromJSON DeleteTableColumnRequest where
1474+ = withObject "DeleteTableColumnRequest"
1476+ DeleteTableColumnRequest' <$>
1477+ (o .:? "cellLocation") <*> (o .:? "tableObjectId"))
1479+instance ToJSON DeleteTableColumnRequest where
1480+ toJSON DeleteTableColumnRequest'{..}
1483+ [("cellLocation" .=) <$> _dtcrCellLocation,
1484+ ("tableObjectId" .=) <$> _dtcrTableObjectId])
1486+-- | A hypertext link.
1488+-- /See:/ 'link' smart constructor.
1490+ { _lURL :: !(Maybe Text)
1491+ , _lPageObjectId :: !(Maybe Text)
1492+ , _lRelativeLink :: !(Maybe LinkRelativeLink)
1493+ , _lSlideIndex :: !(Maybe (Textual Int32))
1494+ } deriving (Eq,Show,Data,Typeable,Generic)
1496+-- | Creates a value of 'Link' with the minimum fields required to make a request.
1498+-- Use one of the following lenses to modify other fields as desired:
1502+-- * 'lPageObjectId'
1504+-- * 'lRelativeLink'
1512+ , _lPageObjectId = Nothing
1513+ , _lRelativeLink = Nothing
1514+ , _lSlideIndex = Nothing
1517+-- | If set, indicates this is a link to the external web page at this URL.
1518+lURL :: Lens' Link (Maybe Text)
1519+lURL = lens _lURL (\ s a -> s{_lURL = a})
1521+-- | If set, indicates this is a link to the specific page in this
1522+-- presentation with this ID. A page with this ID may not exist.
1523+lPageObjectId :: Lens' Link (Maybe Text)
1525+ = lens _lPageObjectId
1526+ (\ s a -> s{_lPageObjectId = a})
1528+-- | If set, indicates this is a link to a slide in this presentation,
1529+-- addressed by its position.
1530+lRelativeLink :: Lens' Link (Maybe LinkRelativeLink)
1532+ = lens _lRelativeLink
1533+ (\ s a -> s{_lRelativeLink = a})
1535+-- | If set, indicates this is a link to the slide at this zero-based index
1536+-- in the presentation. There may not be a slide at this index.
1537+lSlideIndex :: Lens' Link (Maybe Int32)
1539+ = lens _lSlideIndex (\ s a -> s{_lSlideIndex = a}) .
1542+instance FromJSON Link where
1544+ = withObject "Link"
1547+ (o .:? "url") <*> (o .:? "pageObjectId") <*>
1548+ (o .:? "relativeLink")
1549+ <*> (o .:? "slideIndex"))
1551+instance ToJSON Link where
1555+ [("url" .=) <$> _lURL,
1556+ ("pageObjectId" .=) <$> _lPageObjectId,
1557+ ("relativeLink" .=) <$> _lRelativeLink,
1558+ ("slideIndex" .=) <$> _lSlideIndex])
1560+-- | A magnitude in a single direction in the specified units.
1562+-- /See:/ 'dimension' smart constructor.
1563+data Dimension = Dimension'
1564+ { _dMagnitude :: !(Maybe (Textual Double))
1565+ , _dUnit :: !(Maybe DimensionUnit)
1566+ } deriving (Eq,Show,Data,Typeable,Generic)
1568+-- | Creates a value of 'Dimension' with the minimum fields required to make a request.
1570+-- Use one of the following lenses to modify other fields as desired:
1579+ { _dMagnitude = Nothing
1584+dMagnitude :: Lens' Dimension (Maybe Double)
1586+ = lens _dMagnitude (\ s a -> s{_dMagnitude = a}) .
1589+-- | The units for magnitude.
1590+dUnit :: Lens' Dimension (Maybe DimensionUnit)
1591+dUnit = lens _dUnit (\ s a -> s{_dUnit = a})
1593+instance FromJSON Dimension where
1595+ = withObject "Dimension"
1598+ (o .:? "magnitude") <*> (o .:? "unit"))
1600+instance ToJSON Dimension where
1601+ toJSON Dimension'{..}
1604+ [("magnitude" .=) <$> _dMagnitude,
1605+ ("unit" .=) <$> _dUnit])
1607+-- | Response message from a batch update.
1609+-- /See:/ 'batchUpdatePresentationResponse' smart constructor.
1610+data BatchUpdatePresentationResponse = BatchUpdatePresentationResponse'
1611+ { _buprPresentationId :: !(Maybe Text)
1612+ , _buprReplies :: !(Maybe [Response])
1613+ } deriving (Eq,Show,Data,Typeable,Generic)
1615+-- | Creates a value of 'BatchUpdatePresentationResponse' with the minimum fields required to make a request.
1617+-- Use one of the following lenses to modify other fields as desired:
1619+-- * 'buprPresentationId'
1622+batchUpdatePresentationResponse
1623+ :: BatchUpdatePresentationResponse
1624+batchUpdatePresentationResponse =
1625+ BatchUpdatePresentationResponse'
1626+ { _buprPresentationId = Nothing
1627+ , _buprReplies = Nothing
1630+-- | The presentation the updates were applied to.
1631+buprPresentationId :: Lens' BatchUpdatePresentationResponse (Maybe Text)
1633+ = lens _buprPresentationId
1634+ (\ s a -> s{_buprPresentationId = a})
1636+-- | The reply of the updates. This maps 1:1 with the updates, although
1637+-- replies to some requests may be empty.
1638+buprReplies :: Lens' BatchUpdatePresentationResponse [Response]
1640+ = lens _buprReplies (\ s a -> s{_buprReplies = a}) .
1644+instance FromJSON BatchUpdatePresentationResponse
1647+ = withObject "BatchUpdatePresentationResponse"
1649+ BatchUpdatePresentationResponse' <$>
1650+ (o .:? "presentationId") <*>
1651+ (o .:? "replies" .!= mempty))
1653+instance ToJSON BatchUpdatePresentationResponse where
1654+ toJSON BatchUpdatePresentationResponse'{..}
1657+ [("presentationId" .=) <$> _buprPresentationId,
1658+ ("replies" .=) <$> _buprReplies])
1660+-- | The object being duplicated may contain other objects, for example when
1661+-- duplicating a slide or a group page element. This map defines how the
1662+-- IDs of duplicated objects are generated: the keys are the IDs of the
1663+-- original objects and its values are the IDs that will be assigned to the
1664+-- corresponding duplicate object. The ID of the source object\'s duplicate
1665+-- may be specified in this map as well, using the same value of the
1666+-- \`object_id\` field as a key and the newly desired ID as the value. All
1667+-- keys must correspond to existing IDs in the presentation. All values
1668+-- must be unique in the presentation and must start with an alphanumeric
1669+-- character or an underscore (matches regex \`[a-zA-Z0-9_]\`); remaining
1670+-- characters may include those as well as a hyphen or colon (matches regex
1671+-- \`[a-zA-Z0-9_-:]\`). The length of the new ID must not be less than 5 or
1672+-- greater than 50. If any IDs of source objects are omitted from the map,
1673+-- a new random ID will be assigned. If the map is empty or unset, all
1674+-- duplicate objects will receive a new random ID.
1676+-- /See:/ 'duplicateObjectRequestObjectIds' smart constructor.
1677+newtype DuplicateObjectRequestObjectIds = DuplicateObjectRequestObjectIds'
1678+ { _doroiAddtional :: HashMap Text Text
1679+ } deriving (Eq,Show,Data,Typeable,Generic)
1681+-- | Creates a value of 'DuplicateObjectRequestObjectIds' with the minimum fields required to make a request.
1683+-- Use one of the following lenses to modify other fields as desired:
1685+-- * 'doroiAddtional'
1686+duplicateObjectRequestObjectIds
1687+ :: HashMap Text Text -- ^ 'doroiAddtional'
1688+ -> DuplicateObjectRequestObjectIds
1689+duplicateObjectRequestObjectIds pDoroiAddtional_ =
1690+ DuplicateObjectRequestObjectIds'
1691+ { _doroiAddtional = _Coerce # pDoroiAddtional_
1694+doroiAddtional :: Lens' DuplicateObjectRequestObjectIds (HashMap Text Text)
1696+ = lens _doroiAddtional
1697+ (\ s a -> s{_doroiAddtional = a})
1700+instance FromJSON DuplicateObjectRequestObjectIds
1703+ = withObject "DuplicateObjectRequestObjectIds"
1705+ DuplicateObjectRequestObjectIds' <$>
1706+ (parseJSONObject o))
1708+instance ToJSON DuplicateObjectRequestObjectIds where
1709+ toJSON = toJSON . _doroiAddtional
1711+-- | Creates a new table.
1713+-- /See:/ 'createTableRequest' smart constructor.
1714+data CreateTableRequest = CreateTableRequest'
1715+ { _ctrObjectId :: !(Maybe Text)
1716+ , _ctrRows :: !(Maybe (Textual Int32))
1717+ , _ctrElementProperties :: !(Maybe PageElementProperties)
1718+ , _ctrColumns :: !(Maybe (Textual Int32))
1719+ } deriving (Eq,Show,Data,Typeable,Generic)
1721+-- | Creates a value of 'CreateTableRequest' with the minimum fields required to make a request.
1723+-- Use one of the following lenses to modify other fields as desired:
1729+-- * 'ctrElementProperties'
1733+ :: CreateTableRequest
1734+createTableRequest =
1735+ CreateTableRequest'
1736+ { _ctrObjectId = Nothing
1737+ , _ctrRows = Nothing
1738+ , _ctrElementProperties = Nothing
1739+ , _ctrColumns = Nothing
1742+-- | A user-supplied object ID. If you specify an ID, it must be unique among
1743+-- all pages and page elements in the presentation. The ID must start with
1744+-- an alphanumeric character or an underscore (matches regex
1745+-- \`[a-zA-Z0-9_]\`); remaining characters may include those as well as a
1746+-- hyphen or colon (matches regex \`[a-zA-Z0-9_-:]\`). The length of the ID
1747+-- must not be less than 5 or greater than 50. If you don\'t specify an ID,
1748+-- a unique one is generated.
1749+ctrObjectId :: Lens' CreateTableRequest (Maybe Text)
1751+ = lens _ctrObjectId (\ s a -> s{_ctrObjectId = a})
1753+-- | Number of rows in the table.
1754+ctrRows :: Lens' CreateTableRequest (Maybe Int32)
1756+ = lens _ctrRows (\ s a -> s{_ctrRows = a}) .
1759+-- | The element properties for the table. The table will be created at the
1760+-- provided size, subject to a minimum size. If no size is provided, the
1761+-- table will be automatically sized. Table transforms must have a scale of
1762+-- 1 and no shear components. If no transform is provided, the table will
1763+-- be centered on the page.
1764+ctrElementProperties :: Lens' CreateTableRequest (Maybe PageElementProperties)
1765+ctrElementProperties
1766+ = lens _ctrElementProperties
1767+ (\ s a -> s{_ctrElementProperties = a})
1769+-- | Number of columns in the table.
1770+ctrColumns :: Lens' CreateTableRequest (Maybe Int32)
1772+ = lens _ctrColumns (\ s a -> s{_ctrColumns = a}) .
1775+instance FromJSON CreateTableRequest where
1777+ = withObject "CreateTableRequest"
1779+ CreateTableRequest' <$>
1780+ (o .:? "objectId") <*> (o .:? "rows") <*>
1781+ (o .:? "elementProperties")
1782+ <*> (o .:? "columns"))
1784+instance ToJSON CreateTableRequest where
1785+ toJSON CreateTableRequest'{..}
1788+ [("objectId" .=) <$> _ctrObjectId,
1789+ ("rows" .=) <$> _ctrRows,
1790+ ("elementProperties" .=) <$> _ctrElementProperties,
1791+ ("columns" .=) <$> _ctrColumns])
1793+-- | A single response from an update.
1795+-- /See:/ 'response' smart constructor.
1796+data Response = Response'
1797+ { _rReplaceAllShapesWithImage :: !(Maybe ReplaceAllShapesWithImageResponse)
1798+ , _rCreateLine :: !(Maybe CreateLineResponse)
1799+ , _rReplaceAllText :: !(Maybe ReplaceAllTextResponse)
1800+ , _rCreateShape :: !(Maybe CreateShapeResponse)
1801+ , _rCreateSheetsChart :: !(Maybe CreateSheetsChartResponse)
1802+ , _rDuplicateObject :: !(Maybe DuplicateObjectResponse)
1803+ , _rCreateTable :: !(Maybe CreateTableResponse)
1804+ , _rCreateVideo :: !(Maybe CreateVideoResponse)
1805+ , _rCreateImage :: !(Maybe CreateImageResponse)
1806+ , _rCreateSlide :: !(Maybe CreateSlideResponse)
1807+ } deriving (Eq,Show,Data,Typeable,Generic)
1809+-- | Creates a value of 'Response' with the minimum fields required to make a request.
1811+-- Use one of the following lenses to modify other fields as desired:
1813+-- * 'rReplaceAllShapesWithImage'
1817+-- * 'rReplaceAllText'
1821+-- * 'rCreateSheetsChart'
1823+-- * 'rDuplicateObject'
1836+ { _rReplaceAllShapesWithImage = Nothing
1837+ , _rCreateLine = Nothing
1838+ , _rReplaceAllText = Nothing
1839+ , _rCreateShape = Nothing
1840+ , _rCreateSheetsChart = Nothing
1841+ , _rDuplicateObject = Nothing
1842+ , _rCreateTable = Nothing
1843+ , _rCreateVideo = Nothing
1844+ , _rCreateImage = Nothing
1845+ , _rCreateSlide = Nothing
1848+-- | The result of replacing all shapes matching some criteria with an image.
1849+rReplaceAllShapesWithImage :: Lens' Response (Maybe ReplaceAllShapesWithImageResponse)
1850+rReplaceAllShapesWithImage
1851+ = lens _rReplaceAllShapesWithImage
1852+ (\ s a -> s{_rReplaceAllShapesWithImage = a})
1854+-- | The result of creating a line.
1855+rCreateLine :: Lens' Response (Maybe CreateLineResponse)
1857+ = lens _rCreateLine (\ s a -> s{_rCreateLine = a})
1859+-- | The result of replacing text.
1860+rReplaceAllText :: Lens' Response (Maybe ReplaceAllTextResponse)
1862+ = lens _rReplaceAllText
1863+ (\ s a -> s{_rReplaceAllText = a})
1865+-- | The result of creating a shape.
1866+rCreateShape :: Lens' Response (Maybe CreateShapeResponse)
1868+ = lens _rCreateShape (\ s a -> s{_rCreateShape = a})
1870+-- | The result of creating a Google Sheets chart.
1871+rCreateSheetsChart :: Lens' Response (Maybe CreateSheetsChartResponse)
1873+ = lens _rCreateSheetsChart
1874+ (\ s a -> s{_rCreateSheetsChart = a})
1876+-- | The result of duplicating an object.
1877+rDuplicateObject :: Lens' Response (Maybe DuplicateObjectResponse)
1879+ = lens _rDuplicateObject
1880+ (\ s a -> s{_rDuplicateObject = a})
1882+-- | The result of creating a table.
1883+rCreateTable :: Lens' Response (Maybe CreateTableResponse)
1885+ = lens _rCreateTable (\ s a -> s{_rCreateTable = a})
1887+-- | The result of creating a video.
1888+rCreateVideo :: Lens' Response (Maybe CreateVideoResponse)
1890+ = lens _rCreateVideo (\ s a -> s{_rCreateVideo = a})
1892+-- | The result of creating an image.
1893+rCreateImage :: Lens' Response (Maybe CreateImageResponse)
1895+ = lens _rCreateImage (\ s a -> s{_rCreateImage = a})
1897+-- | The result of creating a slide.
1898+rCreateSlide :: Lens' Response (Maybe CreateSlideResponse)
1900+ = lens _rCreateSlide (\ s a -> s{_rCreateSlide = a})
1902+instance FromJSON Response where
1904+ = withObject "Response"
1907+ (o .:? "replaceAllShapesWithImage") <*>
1908+ (o .:? "createLine")
1909+ <*> (o .:? "replaceAllText")
1910+ <*> (o .:? "createShape")
1911+ <*> (o .:? "createSheetsChart")
1912+ <*> (o .:? "duplicateObject")
1913+ <*> (o .:? "createTable")
1914+ <*> (o .:? "createVideo")
1915+ <*> (o .:? "createImage")
1916+ <*> (o .:? "createSlide"))
1918+instance ToJSON Response where
1919+ toJSON Response'{..}
1922+ [("replaceAllShapesWithImage" .=) <$>
1923+ _rReplaceAllShapesWithImage,
1924+ ("createLine" .=) <$> _rCreateLine,
1925+ ("replaceAllText" .=) <$> _rReplaceAllText,
1926+ ("createShape" .=) <$> _rCreateShape,
1927+ ("createSheetsChart" .=) <$> _rCreateSheetsChart,
1928+ ("duplicateObject" .=) <$> _rDuplicateObject,
1929+ ("createTable" .=) <$> _rCreateTable,
1930+ ("createVideo" .=) <$> _rCreateVideo,
1931+ ("createImage" .=) <$> _rCreateImage,
1932+ ("createSlide" .=) <$> _rCreateSlide])
1934+-- | A color that can either be fully opaque or fully transparent.
1936+-- /See:/ 'optionalColor' smart constructor.
1937+newtype OptionalColor = OptionalColor'
1938+ { _ocOpaqueColor :: Maybe OpaqueColor
1939+ } deriving (Eq,Show,Data,Typeable,Generic)
1941+-- | Creates a value of 'OptionalColor' with the minimum fields required to make a request.
1943+-- Use one of the following lenses to modify other fields as desired:
1945+-- * 'ocOpaqueColor'
1950+ { _ocOpaqueColor = Nothing
1953+-- | If set, this will be used as an opaque color. If unset, this represents
1954+-- a transparent color.
1955+ocOpaqueColor :: Lens' OptionalColor (Maybe OpaqueColor)
1957+ = lens _ocOpaqueColor
1958+ (\ s a -> s{_ocOpaqueColor = a})
1960+instance FromJSON OptionalColor where
1962+ = withObject "OptionalColor"
1963+ (\ o -> OptionalColor' <$> (o .:? "opaqueColor"))
1965+instance ToJSON OptionalColor where
1966+ toJSON OptionalColor'{..}
1968+ (catMaybes [("opaqueColor" .=) <$> _ocOpaqueColor])
1970+-- | Duplicates a slide or page element. When duplicating a slide, the
1971+-- duplicate slide will be created immediately following the specified
1972+-- slide. When duplicating a page element, the duplicate will be placed on
1973+-- the same page at the same position as the original.
1975+-- /See:/ 'duplicateObjectRequest' smart constructor.
1976+data DuplicateObjectRequest = DuplicateObjectRequest'
1977+ { _dorObjectId :: !(Maybe Text)
1978+ , _dorObjectIds :: !(Maybe DuplicateObjectRequestObjectIds)
1979+ } deriving (Eq,Show,Data,Typeable,Generic)
1981+-- | Creates a value of 'DuplicateObjectRequest' with the minimum fields required to make a request.
1983+-- Use one of the following lenses to modify other fields as desired:
1988+duplicateObjectRequest
1989+ :: DuplicateObjectRequest
1990+duplicateObjectRequest =
1991+ DuplicateObjectRequest'
1992+ { _dorObjectId = Nothing
1993+ , _dorObjectIds = Nothing
1996+-- | The ID of the object to duplicate.
1997+dorObjectId :: Lens' DuplicateObjectRequest (Maybe Text)
1999+ = lens _dorObjectId (\ s a -> s{_dorObjectId = a})
2001+-- | The object being duplicated may contain other objects, for example when
2002+-- duplicating a slide or a group page element. This map defines how the
2003+-- IDs of duplicated objects are generated: the keys are the IDs of the
2004+-- original objects and its values are the IDs that will be assigned to the
2005+-- corresponding duplicate object. The ID of the source object\'s duplicate
2006+-- may be specified in this map as well, using the same value of the
2007+-- \`object_id\` field as a key and the newly desired ID as the value. All
2008+-- keys must correspond to existing IDs in the presentation. All values
2009+-- must be unique in the presentation and must start with an alphanumeric
2010+-- character or an underscore (matches regex \`[a-zA-Z0-9_]\`); remaining
2011+-- characters may include those as well as a hyphen or colon (matches regex
2012+-- \`[a-zA-Z0-9_-:]\`). The length of the new ID must not be less than 5 or
2013+-- greater than 50. If any IDs of source objects are omitted from the map,
2014+-- a new random ID will be assigned. If the map is empty or unset, all
2015+-- duplicate objects will receive a new random ID.
2016+dorObjectIds :: Lens' DuplicateObjectRequest (Maybe DuplicateObjectRequestObjectIds)
2018+ = lens _dorObjectIds (\ s a -> s{_dorObjectIds = a})
2020+instance FromJSON DuplicateObjectRequest where
2022+ = withObject "DuplicateObjectRequest"
2024+ DuplicateObjectRequest' <$>
2025+ (o .:? "objectId") <*> (o .:? "objectIds"))
2027+instance ToJSON DuplicateObjectRequest where
2028+ toJSON DuplicateObjectRequest'{..}
2031+ [("objectId" .=) <$> _dorObjectId,
2032+ ("objectIds" .=) <$> _dorObjectIds])
2034+-- | A page in a presentation.
2036+-- /See:/ 'page' smart constructor.
2038+ { _pObjectId :: !(Maybe Text)
2039+ , _pPageElements :: !(Maybe [PageElement])
2040+ , _pSlideProperties :: !(Maybe SlideProperties)
2041+ , _pPageProperties :: !(Maybe PageProperties)
2042+ , _pLayoutProperties :: !(Maybe LayoutProperties)
2043+ , _pPageType :: !(Maybe PagePageType)
2044+ } deriving (Eq,Show,Data,Typeable,Generic)
2046+-- | Creates a value of 'Page' with the minimum fields required to make a request.
2048+-- Use one of the following lenses to modify other fields as desired:
2052+-- * 'pPageElements'
2054+-- * 'pSlideProperties'
2056+-- * 'pPageProperties'
2058+-- * 'pLayoutProperties'
2065+ { _pObjectId = Nothing
2066+ , _pPageElements = Nothing
2067+ , _pSlideProperties = Nothing
2068+ , _pPageProperties = Nothing
2069+ , _pLayoutProperties = Nothing
2070+ , _pPageType = Nothing
2073+-- | The object ID for this page. Object IDs used by Page and PageElement
2074+-- share the same namespace.
2075+pObjectId :: Lens' Page (Maybe Text)
2077+ = lens _pObjectId (\ s a -> s{_pObjectId = a})
2079+-- | The page elements rendered on the page.
2080+pPageElements :: Lens' Page [PageElement]
2082+ = lens _pPageElements
2083+ (\ s a -> s{_pPageElements = a})
2087+-- | Slide specific properties. Only set if page_type = SLIDE.
2088+pSlideProperties :: Lens' Page (Maybe SlideProperties)
2090+ = lens _pSlideProperties
2091+ (\ s a -> s{_pSlideProperties = a})
2093+-- | The properties of the page.
2094+pPageProperties :: Lens' Page (Maybe PageProperties)
2096+ = lens _pPageProperties
2097+ (\ s a -> s{_pPageProperties = a})
2099+-- | Layout specific properties. Only set if page_type = LAYOUT.
2100+pLayoutProperties :: Lens' Page (Maybe LayoutProperties)
2102+ = lens _pLayoutProperties
2103+ (\ s a -> s{_pLayoutProperties = a})
2105+-- | The type of the page.
2106+pPageType :: Lens' Page (Maybe PagePageType)
2108+ = lens _pPageType (\ s a -> s{_pPageType = a})
2110+instance FromJSON Page where
2112+ = withObject "Page"
2115+ (o .:? "objectId") <*>
2116+ (o .:? "pageElements" .!= mempty)
2117+ <*> (o .:? "slideProperties")
2118+ <*> (o .:? "pageProperties")
2119+ <*> (o .:? "layoutProperties")
2120+ <*> (o .:? "pageType"))
2122+instance ToJSON Page where
2126+ [("objectId" .=) <$> _pObjectId,
2127+ ("pageElements" .=) <$> _pPageElements,
2128+ ("slideProperties" .=) <$> _pSlideProperties,
2129+ ("pageProperties" .=) <$> _pPageProperties,
2130+ ("layoutProperties" .=) <$> _pLayoutProperties,
2131+ ("pageType" .=) <$> _pPageType])
2133+-- | The result of replacing text.
2135+-- /See:/ 'replaceAllTextResponse' smart constructor.
2136+newtype ReplaceAllTextResponse = ReplaceAllTextResponse'
2137+ { _ratrOccurrencesChanged :: Maybe (Textual Int32)
2138+ } deriving (Eq,Show,Data,Typeable,Generic)
2140+-- | Creates a value of 'ReplaceAllTextResponse' with the minimum fields required to make a request.
2142+-- Use one of the following lenses to modify other fields as desired:
2144+-- * 'ratrOccurrencesChanged'
2145+replaceAllTextResponse
2146+ :: ReplaceAllTextResponse
2147+replaceAllTextResponse =
2148+ ReplaceAllTextResponse'
2149+ { _ratrOccurrencesChanged = Nothing
2152+-- | The number of occurrences changed by replacing all text.
2153+ratrOccurrencesChanged :: Lens' ReplaceAllTextResponse (Maybe Int32)
2154+ratrOccurrencesChanged
2155+ = lens _ratrOccurrencesChanged
2156+ (\ s a -> s{_ratrOccurrencesChanged = a})
2159+instance FromJSON ReplaceAllTextResponse where
2161+ = withObject "ReplaceAllTextResponse"
2163+ ReplaceAllTextResponse' <$>
2164+ (o .:? "occurrencesChanged"))
2166+instance ToJSON ReplaceAllTextResponse where
2167+ toJSON ReplaceAllTextResponse'{..}
2170+ [("occurrencesChanged" .=) <$>
2171+ _ratrOccurrencesChanged])
2173+-- | Describes the bullet of a paragraph.
2175+-- /See:/ 'bullet' smart constructor.
2176+data Bullet = Bullet'
2177+ { _bGlyph :: !(Maybe Text)
2178+ , _bListId :: !(Maybe Text)
2179+ , _bNestingLevel :: !(Maybe (Textual Int32))
2180+ , _bBulletStyle :: !(Maybe TextStyle)
2181+ } deriving (Eq,Show,Data,Typeable,Generic)
2183+-- | Creates a value of 'Bullet' with the minimum fields required to make a request.
2185+-- Use one of the following lenses to modify other fields as desired:
2191+-- * 'bNestingLevel'
2198+ { _bGlyph = Nothing
2199+ , _bListId = Nothing
2200+ , _bNestingLevel = Nothing
2201+ , _bBulletStyle = Nothing
2204+-- | The rendered bullet glyph for this paragraph.
2205+bGlyph :: Lens' Bullet (Maybe Text)
2206+bGlyph = lens _bGlyph (\ s a -> s{_bGlyph = a})
2208+-- | The ID of the list this paragraph belongs to.
2209+bListId :: Lens' Bullet (Maybe Text)
2210+bListId = lens _bListId (\ s a -> s{_bListId = a})
2212+-- | The nesting level of this paragraph in the list.
2213+bNestingLevel :: Lens' Bullet (Maybe Int32)
2215+ = lens _bNestingLevel
2216+ (\ s a -> s{_bNestingLevel = a})
2219+-- | The paragraph specific text style applied to this bullet.
2220+bBulletStyle :: Lens' Bullet (Maybe TextStyle)
2222+ = lens _bBulletStyle (\ s a -> s{_bBulletStyle = a})
2224+instance FromJSON Bullet where
2226+ = withObject "Bullet"
2229+ (o .:? "glyph") <*> (o .:? "listId") <*>
2230+ (o .:? "nestingLevel")
2231+ <*> (o .:? "bulletStyle"))
2233+instance ToJSON Bullet where
2237+ [("glyph" .=) <$> _bGlyph,
2238+ ("listId" .=) <$> _bListId,
2239+ ("nestingLevel" .=) <$> _bNestingLevel,
2240+ ("bulletStyle" .=) <$> _bBulletStyle])
2242+-- | Update the properties of an Image.
2244+-- /See:/ 'updateImagePropertiesRequest' smart constructor.
2245+data UpdateImagePropertiesRequest = UpdateImagePropertiesRequest'
2246+ { _uiprObjectId :: !(Maybe Text)
2247+ , _uiprImageProperties :: !(Maybe ImageProperties)
2248+ , _uiprFields :: !(Maybe FieldMask)
2249+ } deriving (Eq,Show,Data,Typeable,Generic)
2251+-- | Creates a value of 'UpdateImagePropertiesRequest' with the minimum fields required to make a request.
2253+-- Use one of the following lenses to modify other fields as desired:
2257+-- * 'uiprImageProperties'
2260+updateImagePropertiesRequest
2261+ :: UpdateImagePropertiesRequest
2262+updateImagePropertiesRequest =
2263+ UpdateImagePropertiesRequest'
2264+ { _uiprObjectId = Nothing
2265+ , _uiprImageProperties = Nothing
2266+ , _uiprFields = Nothing
2269+-- | The object ID of the image the updates are applied to.
2270+uiprObjectId :: Lens' UpdateImagePropertiesRequest (Maybe Text)
2272+ = lens _uiprObjectId (\ s a -> s{_uiprObjectId = a})
2274+-- | The image properties to update.
2275+uiprImageProperties :: Lens' UpdateImagePropertiesRequest (Maybe ImageProperties)
2277+ = lens _uiprImageProperties
2278+ (\ s a -> s{_uiprImageProperties = a})
2280+-- | The fields that should be updated. At least one field must be specified.
2281+-- The root \`imageProperties\` is implied and should not be specified. A
2282+-- single \`\"*\"\` can be used as short-hand for listing every field. For
2283+-- example to update the image outline color, set \`fields\` to
2284+-- \`\"outline.outlineFill.solidFill.color\"\`. To reset a property to its
2285+-- default value, include its field name in the field mask but leave the
2286+-- field itself unset.
2287+uiprFields :: Lens' UpdateImagePropertiesRequest (Maybe FieldMask)
2289+ = lens _uiprFields (\ s a -> s{_uiprFields = a})
2291+instance FromJSON UpdateImagePropertiesRequest where
2293+ = withObject "UpdateImagePropertiesRequest"
2295+ UpdateImagePropertiesRequest' <$>
2296+ (o .:? "objectId") <*> (o .:? "imageProperties") <*>
2299+instance ToJSON UpdateImagePropertiesRequest where
2300+ toJSON UpdateImagePropertiesRequest'{..}
2303+ [("objectId" .=) <$> _uiprObjectId,
2304+ ("imageProperties" .=) <$> _uiprImageProperties,
2305+ ("fields" .=) <$> _uiprFields])
2307+-- | The properties of Page that are only relevant for pages with page_type
2310+-- /See:/ 'slideProperties' smart constructor.
2311+data SlideProperties = SlideProperties'
2312+ { _spLayoutObjectId :: !(Maybe Text)
2313+ , _spMasterObjectId :: !(Maybe Text)
2314+ } deriving (Eq,Show,Data,Typeable,Generic)
2316+-- | Creates a value of 'SlideProperties' with the minimum fields required to make a request.
2318+-- Use one of the following lenses to modify other fields as desired:
2320+-- * 'spLayoutObjectId'
2322+-- * 'spMasterObjectId'
2327+ { _spLayoutObjectId = Nothing
2328+ , _spMasterObjectId = Nothing
2331+-- | The object ID of the layout that this slide is based on.
2332+spLayoutObjectId :: Lens' SlideProperties (Maybe Text)
2334+ = lens _spLayoutObjectId
2335+ (\ s a -> s{_spLayoutObjectId = a})
2337+-- | The object ID of the master that this slide is based on.
2338+spMasterObjectId :: Lens' SlideProperties (Maybe Text)
2340+ = lens _spMasterObjectId
2341+ (\ s a -> s{_spMasterObjectId = a})
2343+instance FromJSON SlideProperties where
2345+ = withObject "SlideProperties"
2347+ SlideProperties' <$>
2348+ (o .:? "layoutObjectId") <*>
2349+ (o .:? "masterObjectId"))
2351+instance ToJSON SlideProperties where
2352+ toJSON SlideProperties'{..}
2355+ [("layoutObjectId" .=) <$> _spLayoutObjectId,
2356+ ("masterObjectId" .=) <$> _spMasterObjectId])
2358+-- | A Google Slides presentation.
2360+-- /See:/ 'presentation' smart constructor.
2361+data Presentation = Presentation'
2362+ { _pSlides :: !(Maybe [Page])
2363+ , _pMasters :: !(Maybe [Page])
2364+ , _pLocale :: !(Maybe Text)
2365+ , _pPresentationId :: !(Maybe Text)
2366+ , _pTitle :: !(Maybe Text)
2367+ , _pPageSize :: !(Maybe Size)
2368+ , _pLayouts :: !(Maybe [Page])
2369+ } deriving (Eq,Show,Data,Typeable,Generic)
2371+-- | Creates a value of 'Presentation' with the minimum fields required to make a request.
2373+-- Use one of the following lenses to modify other fields as desired:
2381+-- * 'pPresentationId'
2392+ { _pSlides = Nothing
2393+ , _pMasters = Nothing
2394+ , _pLocale = Nothing
2395+ , _pPresentationId = Nothing
2396+ , _pTitle = Nothing
2397+ , _pPageSize = Nothing
2398+ , _pLayouts = Nothing
2401+-- | The slides in the presentation. A slide inherits properties from a slide
2403+pSlides :: Lens' Presentation [Page]
2405+ = lens _pSlides (\ s a -> s{_pSlides = a}) . _Default
2408+-- | The slide masters in the presentation. A slide master contains all
2409+-- common page elements and the common properties for a set of layouts.
2410+-- They serve three purposes: - Placeholder shapes on a master contain the
2411+-- default text styles and shape properties of all placeholder shapes on
2412+-- pages that use that master. - The master page properties define the
2413+-- common page properties inherited by its layouts. - Any other shapes on
2414+-- the master slide will appear on all slides using that master, regardless
2416+pMasters :: Lens' Presentation [Page]
2418+ = lens _pMasters (\ s a -> s{_pMasters = a}) .
2422+-- | The locale of the presentation, as an IETF BCP 47 language tag.
2423+pLocale :: Lens' Presentation (Maybe Text)
2424+pLocale = lens _pLocale (\ s a -> s{_pLocale = a})
2426+-- | The ID of the presentation.
2427+pPresentationId :: Lens' Presentation (Maybe Text)
2429+ = lens _pPresentationId
2430+ (\ s a -> s{_pPresentationId = a})
2432+-- | The title of the presentation.
2433+pTitle :: Lens' Presentation (Maybe Text)
2434+pTitle = lens _pTitle (\ s a -> s{_pTitle = a})
2436+-- | The size of pages in the presentation.
2437+pPageSize :: Lens' Presentation (Maybe Size)
2439+ = lens _pPageSize (\ s a -> s{_pPageSize = a})
2441+-- | The layouts in the presentation. A layout is a template that determines
2442+-- how content is arranged and styled on the slides that inherit from that
2444+pLayouts :: Lens' Presentation [Page]
2446+ = lens _pLayouts (\ s a -> s{_pLayouts = a}) .
2450+instance FromJSON Presentation where
2452+ = withObject "Presentation"
2455+ (o .:? "slides" .!= mempty) <*>
2456+ (o .:? "masters" .!= mempty)
2457+ <*> (o .:? "locale")
2458+ <*> (o .:? "presentationId")
2459+ <*> (o .:? "title")
2460+ <*> (o .:? "pageSize")
2461+ <*> (o .:? "layouts" .!= mempty))
2463+instance ToJSON Presentation where
2464+ toJSON Presentation'{..}
2467+ [("slides" .=) <$> _pSlides,
2468+ ("masters" .=) <$> _pMasters,
2469+ ("locale" .=) <$> _pLocale,
2470+ ("presentationId" .=) <$> _pPresentationId,
2471+ ("title" .=) <$> _pTitle,
2472+ ("pageSize" .=) <$> _pPageSize,
2473+ ("layouts" .=) <$> _pLayouts])
2475+-- | A pair mapping a theme color type to the concrete color it represents.
2477+-- /See:/ 'themeColorPair' smart constructor.
2478+data ThemeColorPair = ThemeColorPair'
2479+ { _tcpColor :: !(Maybe RgbColor)
2480+ , _tcpType :: !(Maybe ThemeColorPairType)
2481+ } deriving (Eq,Show,Data,Typeable,Generic)
2483+-- | Creates a value of 'ThemeColorPair' with the minimum fields required to make a request.
2485+-- Use one of the following lenses to modify other fields as desired:
2494+ { _tcpColor = Nothing
2495+ , _tcpType = Nothing
2498+-- | The concrete color corresponding to the theme color type above.
2499+tcpColor :: Lens' ThemeColorPair (Maybe RgbColor)
2500+tcpColor = lens _tcpColor (\ s a -> s{_tcpColor = a})
2502+-- | The type of the theme color.
2503+tcpType :: Lens' ThemeColorPair (Maybe ThemeColorPairType)
2504+tcpType = lens _tcpType (\ s a -> s{_tcpType = a})
2506+instance FromJSON ThemeColorPair where
2508+ = withObject "ThemeColorPair"
2510+ ThemeColorPair' <$>
2511+ (o .:? "color") <*> (o .:? "type"))
2513+instance ToJSON ThemeColorPair where
2514+ toJSON ThemeColorPair'{..}
2517+ [("color" .=) <$> _tcpColor,
2518+ ("type" .=) <$> _tcpType])
2520+-- | The shadow properties of a page element. If these fields are unset, they
2521+-- may be inherited from a parent placeholder if it exists. If there is no
2522+-- parent, the fields will default to the value used for new page elements
2523+-- created in the Slides editor, which may depend on the page element kind.
2525+-- /See:/ 'shadow' smart constructor.
2526+data Shadow = Shadow'
2527+ { _sTransform :: !(Maybe AffineTransform)
2528+ , _sColor :: !(Maybe OpaqueColor)
2529+ , _sBlurRadius :: !(Maybe Dimension)
2530+ , _sRotateWithShape :: !(Maybe Bool)
2531+ , _sAlpha :: !(Maybe (Textual Double))
2532+ , _sAlignment :: !(Maybe ShadowAlignment)
2533+ , _sPropertyState :: !(Maybe ShadowPropertyState)
2534+ , _sType :: !(Maybe ShadowType)
2535+ } deriving (Eq,Show,Data,Typeable,Generic)
2537+-- | Creates a value of 'Shadow' with the minimum fields required to make a request.
2539+-- Use one of the following lenses to modify other fields as desired:
2547+-- * 'sRotateWithShape'
2553+-- * 'sPropertyState'
2560+ { _sTransform = Nothing
2561+ , _sColor = Nothing
2562+ , _sBlurRadius = Nothing
2563+ , _sRotateWithShape = Nothing
2564+ , _sAlpha = Nothing
2565+ , _sAlignment = Nothing
2566+ , _sPropertyState = Nothing
2570+-- | Transform that encodes the translate, scale, and skew of the shadow,
2571+-- relative to the alignment position.
2572+sTransform :: Lens' Shadow (Maybe AffineTransform)
2574+ = lens _sTransform (\ s a -> s{_sTransform = a})
2576+-- | The shadow color value.
2577+sColor :: Lens' Shadow (Maybe OpaqueColor)
2578+sColor = lens _sColor (\ s a -> s{_sColor = a})
2580+-- | The radius of the shadow blur. The larger the radius, the more diffuse
2581+-- the shadow becomes.
2582+sBlurRadius :: Lens' Shadow (Maybe Dimension)
2584+ = lens _sBlurRadius (\ s a -> s{_sBlurRadius = a})
2586+-- | Whether the shadow should rotate with the shape.
2587+sRotateWithShape :: Lens' Shadow (Maybe Bool)
2589+ = lens _sRotateWithShape
2590+ (\ s a -> s{_sRotateWithShape = a})
2592+-- | The alpha of the shadow\'s color, from 0.0 to 1.0.
2593+sAlpha :: Lens' Shadow (Maybe Double)
2595+ = lens _sAlpha (\ s a -> s{_sAlpha = a}) .
2598+-- | The alignment point of the shadow, that sets the origin for translate,
2599+-- scale and skew of the shadow.
2600+sAlignment :: Lens' Shadow (Maybe ShadowAlignment)
2602+ = lens _sAlignment (\ s a -> s{_sAlignment = a})
2604+-- | The shadow property state. Updating the the shadow on a page element
2605+-- will implicitly update this field to \`RENDERED\`, unless another value
2606+-- is specified in the same request. To have no shadow on a page element,
2607+-- set this field to \`NOT_RENDERED\`. In this case, any other shadow
2608+-- fields set in the same request will be ignored.
2609+sPropertyState :: Lens' Shadow (Maybe ShadowPropertyState)
2611+ = lens _sPropertyState
2612+ (\ s a -> s{_sPropertyState = a})
2614+-- | The type of the shadow.
2615+sType :: Lens' Shadow (Maybe ShadowType)
2616+sType = lens _sType (\ s a -> s{_sType = a})
2618+instance FromJSON Shadow where
2620+ = withObject "Shadow"
2623+ (o .:? "transform") <*> (o .:? "color") <*>
2624+ (o .:? "blurRadius")
2625+ <*> (o .:? "rotateWithShape")
2626+ <*> (o .:? "alpha")
2627+ <*> (o .:? "alignment")
2628+ <*> (o .:? "propertyState")
2629+ <*> (o .:? "type"))
2631+instance ToJSON Shadow where
2635+ [("transform" .=) <$> _sTransform,
2636+ ("color" .=) <$> _sColor,
2637+ ("blurRadius" .=) <$> _sBlurRadius,
2638+ ("rotateWithShape" .=) <$> _sRotateWithShape,
2639+ ("alpha" .=) <$> _sAlpha,
2640+ ("alignment" .=) <$> _sAlignment,
2641+ ("propertyState" .=) <$> _sPropertyState,
2642+ ("type" .=) <$> _sType])
2644+-- | The properties of the Image.
2646+-- /See:/ 'imageProperties' smart constructor.
2647+data ImageProperties = ImageProperties'
2648+ { _ipCropProperties :: !(Maybe CropProperties)
2649+ , _ipLink :: !(Maybe Link)
2650+ , _ipTransparency :: !(Maybe (Textual Double))
2651+ , _ipShadow :: !(Maybe Shadow)
2652+ , _ipContrast :: !(Maybe (Textual Double))
2653+ , _ipRecolor :: !(Maybe Recolor)
2654+ , _ipOutline :: !(Maybe Outline)
2655+ , _ipBrightness :: !(Maybe (Textual Double))
2656+ } deriving (Eq,Show,Data,Typeable,Generic)
2658+-- | Creates a value of 'ImageProperties' with the minimum fields required to make a request.
2660+-- Use one of the following lenses to modify other fields as desired:
2662+-- * 'ipCropProperties'
2666+-- * 'ipTransparency'
2681+ { _ipCropProperties = Nothing
2682+ , _ipLink = Nothing
2683+ , _ipTransparency = Nothing
2684+ , _ipShadow = Nothing
2685+ , _ipContrast = Nothing
2686+ , _ipRecolor = Nothing
2687+ , _ipOutline = Nothing
2688+ , _ipBrightness = Nothing
2691+-- | The crop properties of the image. If not set, the image is not cropped.
2692+-- This property is read-only.
2693+ipCropProperties :: Lens' ImageProperties (Maybe CropProperties)
2695+ = lens _ipCropProperties
2696+ (\ s a -> s{_ipCropProperties = a})
2698+-- | The hyperlink destination of the image. If unset, there is no link.
2699+ipLink :: Lens' ImageProperties (Maybe Link)
2700+ipLink = lens _ipLink (\ s a -> s{_ipLink = a})
2702+-- | The transparency effect of the image. The value should be in the
2703+-- interval [0.0, 1.0], where 0 means no effect and 1 means completely
2704+-- transparent. This property is read-only.
2705+ipTransparency :: Lens' ImageProperties (Maybe Double)
2707+ = lens _ipTransparency
2708+ (\ s a -> s{_ipTransparency = a})
2711+-- | The shadow of the image. If not set, the image has no shadow. This
2712+-- property is read-only.
2713+ipShadow :: Lens' ImageProperties (Maybe Shadow)
2714+ipShadow = lens _ipShadow (\ s a -> s{_ipShadow = a})
2716+-- | The contrast effect of the image. The value should be in the interval
2717+-- [-1.0, 1.0], where 0 means no effect. This property is read-only.
2718+ipContrast :: Lens' ImageProperties (Maybe Double)
2720+ = lens _ipContrast (\ s a -> s{_ipContrast = a}) .
2723+-- | The recolor effect of the image. If not set, the image is not recolored.
2724+-- This property is read-only.
2725+ipRecolor :: Lens' ImageProperties (Maybe Recolor)
2727+ = lens _ipRecolor (\ s a -> s{_ipRecolor = a})
2729+-- | The outline of the image. If not set, the the image has no outline.
2730+ipOutline :: Lens' ImageProperties (Maybe Outline)
2732+ = lens _ipOutline (\ s a -> s{_ipOutline = a})
2734+-- | The brightness effect of the image. The value should be in the interval
2735+-- [-1.0, 1.0], where 0 means no effect. This property is read-only.
2736+ipBrightness :: Lens' ImageProperties (Maybe Double)
2738+ = lens _ipBrightness (\ s a -> s{_ipBrightness = a})
2741+instance FromJSON ImageProperties where
2743+ = withObject "ImageProperties"
2745+ ImageProperties' <$>
2746+ (o .:? "cropProperties") <*> (o .:? "link") <*>
2747+ (o .:? "transparency")
2748+ <*> (o .:? "shadow")
2749+ <*> (o .:? "contrast")
2750+ <*> (o .:? "recolor")
2751+ <*> (o .:? "outline")
2752+ <*> (o .:? "brightness"))
2754+instance ToJSON ImageProperties where
2755+ toJSON ImageProperties'{..}
2758+ [("cropProperties" .=) <$> _ipCropProperties,
2759+ ("link" .=) <$> _ipLink,
2760+ ("transparency" .=) <$> _ipTransparency,
2761+ ("shadow" .=) <$> _ipShadow,
2762+ ("contrast" .=) <$> _ipContrast,
2763+ ("recolor" .=) <$> _ipRecolor,
2764+ ("outline" .=) <$> _ipOutline,
2765+ ("brightness" .=) <$> _ipBrightness])
2767+-- | A PageElement kind representing a line, curved connector, or bent
2770+-- /See:/ 'line' smart constructor.
2772+ { _lLineProperties :: !(Maybe LineProperties)
2773+ , _lLineType :: !(Maybe LineLineType)
2774+ } deriving (Eq,Show,Data,Typeable,Generic)
2776+-- | Creates a value of 'Line' with the minimum fields required to make a request.
2778+-- Use one of the following lenses to modify other fields as desired:
2780+-- * 'lLineProperties'
2787+ { _lLineProperties = Nothing
2788+ , _lLineType = Nothing
2791+-- | The properties of the line.
2792+lLineProperties :: Lens' Line (Maybe LineProperties)
2794+ = lens _lLineProperties
2795+ (\ s a -> s{_lLineProperties = a})
2797+-- | The type of the line.
2798+lLineType :: Lens' Line (Maybe LineLineType)
2800+ = lens _lLineType (\ s a -> s{_lLineType = a})
2802+instance FromJSON Line where
2804+ = withObject "Line"
2807+ (o .:? "lineProperties") <*> (o .:? "lineType"))
2809+instance ToJSON Line where
2813+ [("lineProperties" .=) <$> _lLineProperties,
2814+ ("lineType" .=) <$> _lLineType])
2816+-- | The result of creating a video.
2818+-- /See:/ 'createVideoResponse' smart constructor.
2819+newtype CreateVideoResponse = CreateVideoResponse'
2820+ { _cvrObjectId :: Maybe Text
2821+ } deriving (Eq,Show,Data,Typeable,Generic)
2823+-- | Creates a value of 'CreateVideoResponse' with the minimum fields required to make a request.
2825+-- Use one of the following lenses to modify other fields as desired:
2829+ :: CreateVideoResponse
2830+createVideoResponse =
2831+ CreateVideoResponse'
2832+ { _cvrObjectId = Nothing
2835+-- | The object ID of the created video.
2836+cvrObjectId :: Lens' CreateVideoResponse (Maybe Text)
2838+ = lens _cvrObjectId (\ s a -> s{_cvrObjectId = a})
2840+instance FromJSON CreateVideoResponse where
2842+ = withObject "CreateVideoResponse"
2843+ (\ o -> CreateVideoResponse' <$> (o .:? "objectId"))
2845+instance ToJSON CreateVideoResponse where
2846+ toJSON CreateVideoResponse'{..}
2848+ (catMaybes [("objectId" .=) <$> _cvrObjectId])
2850+-- | Slide layout reference. This may reference either: - A predefined layout
2851+-- - One of the layouts in the presentation.
2853+-- /See:/ 'layoutReference' smart constructor.
2854+data LayoutReference = LayoutReference'
2855+ { _lrPredefinedLayout :: !(Maybe LayoutReferencePredefinedLayout)
2856+ , _lrLayoutId :: !(Maybe Text)
2857+ } deriving (Eq,Show,Data,Typeable,Generic)
2859+-- | Creates a value of 'LayoutReference' with the minimum fields required to make a request.
2861+-- Use one of the following lenses to modify other fields as desired:
2863+-- * 'lrPredefinedLayout'
2870+ { _lrPredefinedLayout = Nothing
2871+ , _lrLayoutId = Nothing
2874+-- | Predefined layout.
2875+lrPredefinedLayout :: Lens' LayoutReference (Maybe LayoutReferencePredefinedLayout)
2877+ = lens _lrPredefinedLayout
2878+ (\ s a -> s{_lrPredefinedLayout = a})
2880+-- | Layout ID: the object ID of one of the layouts in the presentation.
2881+lrLayoutId :: Lens' LayoutReference (Maybe Text)
2883+ = lens _lrLayoutId (\ s a -> s{_lrLayoutId = a})
2885+instance FromJSON LayoutReference where
2887+ = withObject "LayoutReference"
2889+ LayoutReference' <$>
2890+ (o .:? "predefinedLayout") <*> (o .:? "layoutId"))
2892+instance ToJSON LayoutReference where
2893+ toJSON LayoutReference'{..}
2896+ [("predefinedLayout" .=) <$> _lrPredefinedLayout,
2897+ ("layoutId" .=) <$> _lrLayoutId])
2899+-- | The fill of the line.
2901+-- /See:/ 'lineFill' smart constructor.
2902+newtype LineFill = LineFill'
2903+ { _lfSolidFill :: Maybe SolidFill
2904+ } deriving (Eq,Show,Data,Typeable,Generic)
2906+-- | Creates a value of 'LineFill' with the minimum fields required to make a request.
2908+-- Use one of the following lenses to modify other fields as desired:
2915+ { _lfSolidFill = Nothing
2918+-- | Solid color fill.
2919+lfSolidFill :: Lens' LineFill (Maybe SolidFill)
2921+ = lens _lfSolidFill (\ s a -> s{_lfSolidFill = a})
2923+instance FromJSON LineFill where
2925+ = withObject "LineFill"
2926+ (\ o -> LineFill' <$> (o .:? "solidFill"))
2928+instance ToJSON LineFill where
2929+ toJSON LineFill'{..}
2931+ (catMaybes [("solidFill" .=) <$> _lfSolidFill])
2933+-- | Updates the transform of a page element.
2935+-- /See:/ 'updatePageElementTransformRequest' smart constructor.
2936+data UpdatePageElementTransformRequest = UpdatePageElementTransformRequest'
2937+ { _upetrTransform :: !(Maybe AffineTransform)
2938+ , _upetrObjectId :: !(Maybe Text)
2939+ , _upetrApplyMode :: !(Maybe UpdatePageElementTransformRequestApplyMode)
2940+ } deriving (Eq,Show,Data,Typeable,Generic)
2942+-- | Creates a value of 'UpdatePageElementTransformRequest' with the minimum fields required to make a request.
2944+-- Use one of the following lenses to modify other fields as desired:
2946+-- * 'upetrTransform'
2948+-- * 'upetrObjectId'
2950+-- * 'upetrApplyMode'
2951+updatePageElementTransformRequest
2952+ :: UpdatePageElementTransformRequest
2953+updatePageElementTransformRequest =
2954+ UpdatePageElementTransformRequest'
2955+ { _upetrTransform = Nothing
2956+ , _upetrObjectId = Nothing
2957+ , _upetrApplyMode = Nothing
2960+-- | The input transform matrix used to update the page element.
2961+upetrTransform :: Lens' UpdatePageElementTransformRequest (Maybe AffineTransform)
2963+ = lens _upetrTransform
2964+ (\ s a -> s{_upetrTransform = a})
2966+-- | The object ID of the page element to update.
2967+upetrObjectId :: Lens' UpdatePageElementTransformRequest (Maybe Text)
2969+ = lens _upetrObjectId
2970+ (\ s a -> s{_upetrObjectId = a})
2972+-- | The apply mode of the transform update.
2973+upetrApplyMode :: Lens' UpdatePageElementTransformRequest (Maybe UpdatePageElementTransformRequestApplyMode)
2975+ = lens _upetrApplyMode
2976+ (\ s a -> s{_upetrApplyMode = a})
2978+instance FromJSON UpdatePageElementTransformRequest
2981+ = withObject "UpdatePageElementTransformRequest"
2983+ UpdatePageElementTransformRequest' <$>
2984+ (o .:? "transform") <*> (o .:? "objectId") <*>
2985+ (o .:? "applyMode"))
2987+instance ToJSON UpdatePageElementTransformRequest
2989+ toJSON UpdatePageElementTransformRequest'{..}
2992+ [("transform" .=) <$> _upetrTransform,
2993+ ("objectId" .=) <$> _upetrObjectId,
2994+ ("applyMode" .=) <$> _upetrApplyMode])
2996+-- | Inserts rows into a table.
2998+-- /See:/ 'insertTableRowsRequest' smart constructor.
2999+data InsertTableRowsRequest = InsertTableRowsRequest'
3000+ { _itrrInsertBelow :: !(Maybe Bool)
3001+ , _itrrNumber :: !(Maybe (Textual Int32))
3002+ , _itrrCellLocation :: !(Maybe TableCellLocation)
3003+ , _itrrTableObjectId :: !(Maybe Text)
3004+ } deriving (Eq,Show,Data,Typeable,Generic)
3006+-- | Creates a value of 'InsertTableRowsRequest' with the minimum fields required to make a request.
3008+-- Use one of the following lenses to modify other fields as desired:
3010+-- * 'itrrInsertBelow'
3014+-- * 'itrrCellLocation'
3016+-- * 'itrrTableObjectId'
3017+insertTableRowsRequest
3018+ :: InsertTableRowsRequest
3019+insertTableRowsRequest =
3020+ InsertTableRowsRequest'
3021+ { _itrrInsertBelow = Nothing
3022+ , _itrrNumber = Nothing
3023+ , _itrrCellLocation = Nothing
3024+ , _itrrTableObjectId = Nothing
3027+-- | Whether to insert new rows below the reference cell location. -
3028+-- \`True\`: insert below the cell. - \`False\`: insert above the cell.
3029+itrrInsertBelow :: Lens' InsertTableRowsRequest (Maybe Bool)
3031+ = lens _itrrInsertBelow
3032+ (\ s a -> s{_itrrInsertBelow = a})
3034+-- | The number of rows to be inserted. Maximum 20 per request.
3035+itrrNumber :: Lens' InsertTableRowsRequest (Maybe Int32)
3037+ = lens _itrrNumber (\ s a -> s{_itrrNumber = a}) .
3040+-- | The reference table cell location from which rows will be inserted. A
3041+-- new row will be inserted above (or below) the row where the reference
3042+-- cell is. If the reference cell is a merged cell, a new row will be
3043+-- inserted above (or below) the merged cell.
3044+itrrCellLocation :: Lens' InsertTableRowsRequest (Maybe TableCellLocation)
3046+ = lens _itrrCellLocation
3047+ (\ s a -> s{_itrrCellLocation = a})
3049+-- | The table to insert rows into.
3050+itrrTableObjectId :: Lens' InsertTableRowsRequest (Maybe Text)
3052+ = lens _itrrTableObjectId
3053+ (\ s a -> s{_itrrTableObjectId = a})
3055+instance FromJSON InsertTableRowsRequest where
3057+ = withObject "InsertTableRowsRequest"
3059+ InsertTableRowsRequest' <$>
3060+ (o .:? "insertBelow") <*> (o .:? "number") <*>
3061+ (o .:? "cellLocation")
3062+ <*> (o .:? "tableObjectId"))
3064+instance ToJSON InsertTableRowsRequest where
3065+ toJSON InsertTableRowsRequest'{..}
3068+ [("insertBelow" .=) <$> _itrrInsertBelow,
3069+ ("number" .=) <$> _itrrNumber,
3070+ ("cellLocation" .=) <$> _itrrCellLocation,
3071+ ("tableObjectId" .=) <$> _itrrTableObjectId])
3073+-- | A PageElement kind representing a video.
3075+-- /See:/ 'video' smart constructor.
3077+ { _vURL :: !(Maybe Text)
3078+ , _vSource :: !(Maybe VideoSource)
3079+ , _vId :: !(Maybe Text)
3080+ , _vVideoProperties :: !(Maybe VideoProperties)
3081+ } deriving (Eq,Show,Data,Typeable,Generic)
3083+-- | Creates a value of 'Video' with the minimum fields required to make a request.
3085+-- Use one of the following lenses to modify other fields as desired:
3093+-- * 'vVideoProperties'
3099+ , _vSource = Nothing
3101+ , _vVideoProperties = Nothing
3104+-- | An URL to a video. The URL is valid as long as the source video exists
3105+-- and sharing settings do not change.
3106+vURL :: Lens' Video (Maybe Text)
3107+vURL = lens _vURL (\ s a -> s{_vURL = a})
3109+-- | The video source.
3110+vSource :: Lens' Video (Maybe VideoSource)
3111+vSource = lens _vSource (\ s a -> s{_vSource = a})
3113+-- | The video source\'s unique identifier for this video.
3114+vId :: Lens' Video (Maybe Text)
3115+vId = lens _vId (\ s a -> s{_vId = a})
3117+-- | The properties of the video.
3118+vVideoProperties :: Lens' Video (Maybe VideoProperties)
3120+ = lens _vVideoProperties
3121+ (\ s a -> s{_vVideoProperties = a})
3123+instance FromJSON Video where
3125+ = withObject "Video"
3128+ (o .:? "url") <*> (o .:? "source") <*> (o .:? "id")
3129+ <*> (o .:? "videoProperties"))
3131+instance ToJSON Video where
3135+ [("url" .=) <$> _vURL, ("source" .=) <$> _vSource,
3136+ ("id" .=) <$> _vId,
3137+ ("videoProperties" .=) <$> _vVideoProperties])
3139+-- | The properties of the TableCell.
3141+-- /See:/ 'tableCellProperties' smart constructor.
3142+newtype TableCellProperties = TableCellProperties'
3143+ { _tcpTableCellBackgRoundFill :: Maybe TableCellBackgRoundFill
3144+ } deriving (Eq,Show,Data,Typeable,Generic)
3146+-- | Creates a value of 'TableCellProperties' with the minimum fields required to make a request.
3148+-- Use one of the following lenses to modify other fields as desired:
3150+-- * 'tcpTableCellBackgRoundFill'
3152+ :: TableCellProperties
3153+tableCellProperties =
3154+ TableCellProperties'
3155+ { _tcpTableCellBackgRoundFill = Nothing
3158+-- | The background fill of the table cell. The default fill matches the fill
3159+-- for newly created table cells in the Slides editor.
3160+tcpTableCellBackgRoundFill :: Lens' TableCellProperties (Maybe TableCellBackgRoundFill)
3161+tcpTableCellBackgRoundFill
3162+ = lens _tcpTableCellBackgRoundFill
3163+ (\ s a -> s{_tcpTableCellBackgRoundFill = a})
3165+instance FromJSON TableCellProperties where
3167+ = withObject "TableCellProperties"
3169+ TableCellProperties' <$>
3170+ (o .:? "tableCellBackgroundFill"))
3172+instance ToJSON TableCellProperties where
3173+ toJSON TableCellProperties'{..}
3176+ [("tableCellBackgroundFill" .=) <$>
3177+ _tcpTableCellBackgRoundFill])
3179+-- | The result of creating a line.
3181+-- /See:/ 'createLineResponse' smart constructor.
3182+newtype CreateLineResponse = CreateLineResponse'
3183+ { _clrObjectId :: Maybe Text
3184+ } deriving (Eq,Show,Data,Typeable,Generic)
3186+-- | Creates a value of 'CreateLineResponse' with the minimum fields required to make a request.
3188+-- Use one of the following lenses to modify other fields as desired:
3192+ :: CreateLineResponse
3193+createLineResponse =
3194+ CreateLineResponse'
3195+ { _clrObjectId = Nothing
3198+-- | The object ID of the created line.
3199+clrObjectId :: Lens' CreateLineResponse (Maybe Text)
3201+ = lens _clrObjectId (\ s a -> s{_clrObjectId = a})
3203+instance FromJSON CreateLineResponse where
3205+ = withObject "CreateLineResponse"
3206+ (\ o -> CreateLineResponse' <$> (o .:? "objectId"))
3208+instance ToJSON CreateLineResponse where
3209+ toJSON CreateLineResponse'{..}
3211+ (catMaybes [("objectId" .=) <$> _clrObjectId])
3213+-- | A PageElement kind representing word art.
3215+-- /See:/ 'wordArt' smart constructor.
3216+newtype WordArt = WordArt'
3217+ { _waRenderedText :: Maybe Text
3218+ } deriving (Eq,Show,Data,Typeable,Generic)
3220+-- | Creates a value of 'WordArt' with the minimum fields required to make a request.
3222+-- Use one of the following lenses to modify other fields as desired:
3224+-- * 'waRenderedText'
3229+ { _waRenderedText = Nothing
3232+-- | The text rendered as word art.
3233+waRenderedText :: Lens' WordArt (Maybe Text)
3235+ = lens _waRenderedText
3236+ (\ s a -> s{_waRenderedText = a})
3238+instance FromJSON WordArt where
3240+ = withObject "WordArt"
3241+ (\ o -> WordArt' <$> (o .:? "renderedText"))
3243+instance ToJSON WordArt where
3244+ toJSON WordArt'{..}
3246+ (catMaybes [("renderedText" .=) <$> _waRenderedText])
3248+-- | The table cell background fill.
3250+-- /See:/ 'tableCellBackgRoundFill' smart constructor.
3251+data TableCellBackgRoundFill = TableCellBackgRoundFill'
3252+ { _tcbrfSolidFill :: !(Maybe SolidFill)
3253+ , _tcbrfPropertyState :: !(Maybe TableCellBackgRoundFillPropertyState)
3254+ } deriving (Eq,Show,Data,Typeable,Generic)
3256+-- | Creates a value of 'TableCellBackgRoundFill' with the minimum fields required to make a request.
3258+-- Use one of the following lenses to modify other fields as desired:
3260+-- * 'tcbrfSolidFill'
3262+-- * 'tcbrfPropertyState'
3263+tableCellBackgRoundFill
3264+ :: TableCellBackgRoundFill
3265+tableCellBackgRoundFill =
3266+ TableCellBackgRoundFill'
3267+ { _tcbrfSolidFill = Nothing
3268+ , _tcbrfPropertyState = Nothing
3271+-- | Solid color fill.
3272+tcbrfSolidFill :: Lens' TableCellBackgRoundFill (Maybe SolidFill)
3274+ = lens _tcbrfSolidFill
3275+ (\ s a -> s{_tcbrfSolidFill = a})
3277+-- | The background fill property state. Updating the the fill on a table
3278+-- cell will implicitly update this field to \`RENDERED\`, unless another
3279+-- value is specified in the same request. To have no fill on a table cell,
3280+-- set this field to \`NOT_RENDERED\`. In this case, any other fill fields
3281+-- set in the same request will be ignored.
3282+tcbrfPropertyState :: Lens' TableCellBackgRoundFill (Maybe TableCellBackgRoundFillPropertyState)
3284+ = lens _tcbrfPropertyState
3285+ (\ s a -> s{_tcbrfPropertyState = a})
3287+instance FromJSON TableCellBackgRoundFill where
3289+ = withObject "TableCellBackgRoundFill"
3291+ TableCellBackgRoundFill' <$>
3292+ (o .:? "solidFill") <*> (o .:? "propertyState"))
3294+instance ToJSON TableCellBackgRoundFill where
3295+ toJSON TableCellBackgRoundFill'{..}
3298+ [("solidFill" .=) <$> _tcbrfSolidFill,
3299+ ("propertyState" .=) <$> _tcbrfPropertyState])
3301+-- | A TextElement kind that represents a run of text that all has the same
3304+-- /See:/ 'textRun' smart constructor.
3305+data TextRun = TextRun'
3306+ { _trStyle :: !(Maybe TextStyle)
3307+ , _trContent :: !(Maybe Text)
3308+ } deriving (Eq,Show,Data,Typeable,Generic)
3310+-- | Creates a value of 'TextRun' with the minimum fields required to make a request.
3312+-- Use one of the following lenses to modify other fields as desired:
3321+ { _trStyle = Nothing
3322+ , _trContent = Nothing
3325+-- | The styling applied to this run.
3326+trStyle :: Lens' TextRun (Maybe TextStyle)
3327+trStyle = lens _trStyle (\ s a -> s{_trStyle = a})
3329+-- | The text of this run.
3330+trContent :: Lens' TextRun (Maybe Text)
3332+ = lens _trContent (\ s a -> s{_trContent = a})
3334+instance FromJSON TextRun where
3336+ = withObject "TextRun"
3338+ TextRun' <$> (o .:? "style") <*> (o .:? "content"))
3340+instance ToJSON TextRun where
3341+ toJSON TextRun'{..}
3344+ [("style" .=) <$> _trStyle,
3345+ ("content" .=) <$> _trContent])
3347+-- | Refreshes an embedded Google Sheets chart by replacing it with the
3348+-- latest version of the chart from Google Sheets. NOTE: Refreshing charts
3349+-- requires at least one of the spreadsheets.readonly, spreadsheets,
3350+-- drive.readonly, or drive OAuth scopes.
3352+-- /See:/ 'refreshSheetsChartRequest' smart constructor.
3353+newtype RefreshSheetsChartRequest = RefreshSheetsChartRequest'
3354+ { _rscrObjectId :: Maybe Text
3355+ } deriving (Eq,Show,Data,Typeable,Generic)
3357+-- | Creates a value of 'RefreshSheetsChartRequest' with the minimum fields required to make a request.
3359+-- Use one of the following lenses to modify other fields as desired:
3362+refreshSheetsChartRequest
3363+ :: RefreshSheetsChartRequest
3364+refreshSheetsChartRequest =
3365+ RefreshSheetsChartRequest'
3366+ { _rscrObjectId = Nothing
3369+-- | The object ID of the chart to refresh.
3370+rscrObjectId :: Lens' RefreshSheetsChartRequest (Maybe Text)
3372+ = lens _rscrObjectId (\ s a -> s{_rscrObjectId = a})
3374+instance FromJSON RefreshSheetsChartRequest where
3376+ = withObject "RefreshSheetsChartRequest"
3378+ RefreshSheetsChartRequest' <$> (o .:? "objectId"))
3380+instance ToJSON RefreshSheetsChartRequest where
3381+ toJSON RefreshSheetsChartRequest'{..}
3383+ (catMaybes [("objectId" .=) <$> _rscrObjectId])
3385+-- | Properties and contents of each row in a table.
3387+-- /See:/ 'tableRow' smart constructor.
3388+data TableRow = TableRow'
3389+ { _trTableCells :: !(Maybe [TableCell])
3390+ , _trRowHeight :: !(Maybe Dimension)
3391+ } deriving (Eq,Show,Data,Typeable,Generic)
3393+-- | Creates a value of 'TableRow' with the minimum fields required to make a request.
3395+-- Use one of the following lenses to modify other fields as desired:
3404+ { _trTableCells = Nothing
3405+ , _trRowHeight = Nothing
3408+-- | Properties and contents of each cell. Cells that span multiple columns
3409+-- are represented only once with a column_span greater than 1. As a
3410+-- result, the length of this collection does not always match the number
3411+-- of columns of the entire table.
3412+trTableCells :: Lens' TableRow [TableCell]
3414+ = lens _trTableCells (\ s a -> s{_trTableCells = a})
3418+-- | Height of a row.
3419+trRowHeight :: Lens' TableRow (Maybe Dimension)
3421+ = lens _trRowHeight (\ s a -> s{_trRowHeight = a})
3423+instance FromJSON TableRow where
3425+ = withObject "TableRow"
3428+ (o .:? "tableCells" .!= mempty) <*>
3429+ (o .:? "rowHeight"))
3431+instance ToJSON TableRow where
3432+ toJSON TableRow'{..}
3435+ [("tableCells" .=) <$> _trTableCells,
3436+ ("rowHeight" .=) <$> _trRowHeight])
3438+-- | Creates a video.
3440+-- /See:/ 'createVideoRequest' smart constructor.
3441+data CreateVideoRequest = CreateVideoRequest'
3442+ { _creObjectId :: !(Maybe Text)
3443+ , _creElementProperties :: !(Maybe PageElementProperties)
3444+ , _creSource :: !(Maybe CreateVideoRequestSource)
3445+ , _creId :: !(Maybe Text)
3446+ } deriving (Eq,Show,Data,Typeable,Generic)
3448+-- | Creates a value of 'CreateVideoRequest' with the minimum fields required to make a request.
3450+-- Use one of the following lenses to modify other fields as desired:
3454+-- * 'creElementProperties'
3460+ :: CreateVideoRequest
3461+createVideoRequest =
3462+ CreateVideoRequest'
3463+ { _creObjectId = Nothing
3464+ , _creElementProperties = Nothing
3465+ , _creSource = Nothing
3469+-- | A user-supplied object ID. If you specify an ID, it must be unique among
3470+-- all pages and page elements in the presentation. The ID must start with
3471+-- an alphanumeric character or an underscore (matches regex
3472+-- \`[a-zA-Z0-9_]\`); remaining characters may include those as well as a
3473+-- hyphen or colon (matches regex \`[a-zA-Z0-9_-:]\`). The length of the ID
3474+-- must not be less than 5 or greater than 50. If you don\'t specify an ID,
3475+-- a unique one is generated.
3476+creObjectId :: Lens' CreateVideoRequest (Maybe Text)
3478+ = lens _creObjectId (\ s a -> s{_creObjectId = a})
3480+-- | The element properties for the video.
3481+creElementProperties :: Lens' CreateVideoRequest (Maybe PageElementProperties)
3482+creElementProperties
3483+ = lens _creElementProperties
3484+ (\ s a -> s{_creElementProperties = a})
3486+-- | The video source.
3487+creSource :: Lens' CreateVideoRequest (Maybe CreateVideoRequestSource)
3489+ = lens _creSource (\ s a -> s{_creSource = a})
3491+-- | The video source\'s unique identifier for this video. e.g. For YouTube
3492+-- video https:\/\/www.youtube.com\/watch?v=7U3axjORYZ0, the ID is
3494+creId :: Lens' CreateVideoRequest (Maybe Text)
3495+creId = lens _creId (\ s a -> s{_creId = a})
3497+instance FromJSON CreateVideoRequest where
3499+ = withObject "CreateVideoRequest"
3501+ CreateVideoRequest' <$>
3502+ (o .:? "objectId") <*> (o .:? "elementProperties")
3503+ <*> (o .:? "source")
3506+instance ToJSON CreateVideoRequest where
3507+ toJSON CreateVideoRequest'{..}
3510+ [("objectId" .=) <$> _creObjectId,
3511+ ("elementProperties" .=) <$> _creElementProperties,
3512+ ("source" .=) <$> _creSource, ("id" .=) <$> _creId])
3514+-- | The general text content. The text must reside in a compatible shape
3515+-- (e.g. text box or rectangle) or a table cell in a page.
3517+-- /See:/ 'textContent' smart constructor.
3518+data TextContent = TextContent'
3519+ { _tcTextElements :: !(Maybe [TextElement])
3520+ , _tcLists :: !(Maybe TextContentLists)
3521+ } deriving (Eq,Show,Data,Typeable,Generic)
3523+-- | Creates a value of 'TextContent' with the minimum fields required to make a request.
3525+-- Use one of the following lenses to modify other fields as desired:
3527+-- * 'tcTextElements'
3534+ { _tcTextElements = Nothing
3535+ , _tcLists = Nothing
3538+-- | The text contents broken down into its component parts, including
3539+-- styling information. This property is read-only.
3540+tcTextElements :: Lens' TextContent [TextElement]
3542+ = lens _tcTextElements
3543+ (\ s a -> s{_tcTextElements = a})
3547+-- | The bulleted lists contained in this text, keyed by list ID.
3548+tcLists :: Lens' TextContent (Maybe TextContentLists)
3549+tcLists = lens _tcLists (\ s a -> s{_tcLists = a})
3551+instance FromJSON TextContent where
3553+ = withObject "TextContent"
3556+ (o .:? "textElements" .!= mempty) <*>
3559+instance ToJSON TextContent where
3560+ toJSON TextContent'{..}
3563+ [("textElements" .=) <$> _tcTextElements,
3564+ ("lists" .=) <$> _tcLists])
3566+-- | A PageElement kind representing a generic shape that does not have a
3567+-- more specific classification.
3569+-- /See:/ 'shape' smart constructor.
3571+ { _sShapeType :: !(Maybe ShapeShapeType)
3572+ , _sText :: !(Maybe TextContent)
3573+ , _sPlaceholder :: !(Maybe Placeholder)
3574+ , _sShapeProperties :: !(Maybe ShapeProperties)
3575+ } deriving (Eq,Show,Data,Typeable,Generic)
3577+-- | Creates a value of 'Shape' with the minimum fields required to make a request.
3579+-- Use one of the following lenses to modify other fields as desired:
3587+-- * 'sShapeProperties'
3592+ { _sShapeType = Nothing
3594+ , _sPlaceholder = Nothing
3595+ , _sShapeProperties = Nothing
3598+-- | The type of the shape.
3599+sShapeType :: Lens' Shape (Maybe ShapeShapeType)
3601+ = lens _sShapeType (\ s a -> s{_sShapeType = a})
3603+-- | The text content of the shape.
3604+sText :: Lens' Shape (Maybe TextContent)
3605+sText = lens _sText (\ s a -> s{_sText = a})
3607+-- | Placeholders are shapes that are inherit from corresponding placeholders
3608+-- on layouts and masters. If set, the shape is a placeholder shape and any
3609+-- inherited properties can be resolved by looking at the parent
3610+-- placeholder identified by the Placeholder.parent_object_id field.
3611+sPlaceholder :: Lens' Shape (Maybe Placeholder)
3613+ = lens _sPlaceholder (\ s a -> s{_sPlaceholder = a})
3615+-- | The properties of the shape.
3616+sShapeProperties :: Lens' Shape (Maybe ShapeProperties)
3618+ = lens _sShapeProperties
3619+ (\ s a -> s{_sShapeProperties = a})
3621+instance FromJSON Shape where
3623+ = withObject "Shape"
3626+ (o .:? "shapeType") <*> (o .:? "text") <*>
3627+ (o .:? "placeholder")
3628+ <*> (o .:? "shapeProperties"))
3630+instance ToJSON Shape where
3634+ [("shapeType" .=) <$> _sShapeType,
3635+ ("text" .=) <$> _sText,
3636+ ("placeholder" .=) <$> _sPlaceholder,
3637+ ("shapeProperties" .=) <$> _sShapeProperties])
3639+-- | AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ]
3640+-- to transform source coordinates (x,y) into destination coordinates (x\',
3641+-- y\') according to: x\' x = shear_y scale_y translate_y 1 [ 1 ] After
3642+-- transformation, x\' = scale_x * x + shear_x * y + translate_x; y\' =
3643+-- scale_y * y + shear_y * x + translate_y; This message is therefore
3644+-- composed of these six matrix elements.
3646+-- /See:/ 'affineTransform' smart constructor.
3647+data AffineTransform = AffineTransform'
3648+ { _atTranslateX :: !(Maybe (Textual Double))
3649+ , _atShearY :: !(Maybe (Textual Double))
3650+ , _atTranslateY :: !(Maybe (Textual Double))
3651+ , _atShearX :: !(Maybe (Textual Double))
3652+ , _atScaleX :: !(Maybe (Textual Double))
3653+ , _atUnit :: !(Maybe AffineTransformUnit)
3654+ , _atScaleY :: !(Maybe (Textual Double))
3655+ } deriving (Eq,Show,Data,Typeable,Generic)
3657+-- | Creates a value of 'AffineTransform' with the minimum fields required to make a request.
3659+-- Use one of the following lenses to modify other fields as desired:
3678+ { _atTranslateX = Nothing
3679+ , _atShearY = Nothing
3680+ , _atTranslateY = Nothing
3681+ , _atShearX = Nothing
3682+ , _atScaleX = Nothing
3683+ , _atUnit = Nothing
3684+ , _atScaleY = Nothing
3687+-- | The X coordinate translation element.
3688+atTranslateX :: Lens' AffineTransform (Maybe Double)
3690+ = lens _atTranslateX (\ s a -> s{_atTranslateX = a})
3693+-- | The Y coordinate shearing element.
3694+atShearY :: Lens' AffineTransform (Maybe Double)
3696+ = lens _atShearY (\ s a -> s{_atShearY = a}) .
3699+-- | The Y coordinate translation element.
3700+atTranslateY :: Lens' AffineTransform (Maybe Double)
3702+ = lens _atTranslateY (\ s a -> s{_atTranslateY = a})
3705+-- | The X coordinate shearing element.
3706+atShearX :: Lens' AffineTransform (Maybe Double)
3708+ = lens _atShearX (\ s a -> s{_atShearX = a}) .
3711+-- | The X coordinate scaling element.
3712+atScaleX :: Lens' AffineTransform (Maybe Double)
3714+ = lens _atScaleX (\ s a -> s{_atScaleX = a}) .
3717+-- | The units for translate elements.
3718+atUnit :: Lens' AffineTransform (Maybe AffineTransformUnit)
3719+atUnit = lens _atUnit (\ s a -> s{_atUnit = a})
3721+-- | The Y coordinate scaling element.
3722+atScaleY :: Lens' AffineTransform (Maybe Double)
3724+ = lens _atScaleY (\ s a -> s{_atScaleY = a}) .
3727+instance FromJSON AffineTransform where
3729+ = withObject "AffineTransform"
3731+ AffineTransform' <$>
3732+ (o .:? "translateX") <*> (o .:? "shearY") <*>
3733+ (o .:? "translateY")
3734+ <*> (o .:? "shearX")
3735+ <*> (o .:? "scaleX")
3737+ <*> (o .:? "scaleY"))
3739+instance ToJSON AffineTransform where
3740+ toJSON AffineTransform'{..}
3743+ [("translateX" .=) <$> _atTranslateX,
3744+ ("shearY" .=) <$> _atShearY,
3745+ ("translateY" .=) <$> _atTranslateY,
3746+ ("shearX" .=) <$> _atShearX,
3747+ ("scaleX" .=) <$> _atScaleX, ("unit" .=) <$> _atUnit,
3748+ ("scaleY" .=) <$> _atScaleY])
3750+-- | The result of creating an embedded Google Sheets chart.
3752+-- /See:/ 'createSheetsChartResponse' smart constructor.
3753+newtype CreateSheetsChartResponse = CreateSheetsChartResponse'
3754+ { _cscrsObjectId :: Maybe Text
3755+ } deriving (Eq,Show,Data,Typeable,Generic)
3757+-- | Creates a value of 'CreateSheetsChartResponse' with the minimum fields required to make a request.
3759+-- Use one of the following lenses to modify other fields as desired:
3761+-- * 'cscrsObjectId'
3762+createSheetsChartResponse
3763+ :: CreateSheetsChartResponse
3764+createSheetsChartResponse =
3765+ CreateSheetsChartResponse'
3766+ { _cscrsObjectId = Nothing
3769+-- | The object ID of the created chart.
3770+cscrsObjectId :: Lens' CreateSheetsChartResponse (Maybe Text)
3772+ = lens _cscrsObjectId
3773+ (\ s a -> s{_cscrsObjectId = a})
3775+instance FromJSON CreateSheetsChartResponse where
3777+ = withObject "CreateSheetsChartResponse"
3779+ CreateSheetsChartResponse' <$> (o .:? "objectId"))
3781+instance ToJSON CreateSheetsChartResponse where
3782+ toJSON CreateSheetsChartResponse'{..}
3784+ (catMaybes [("objectId" .=) <$> _cscrsObjectId])
3786+-- | Specifies a contiguous range of an indexed collection, such as
3787+-- characters in text.
3789+-- /See:/ 'range' smart constructor.
3791+ { _rEndIndex :: !(Maybe (Textual Int32))
3792+ , _rType :: !(Maybe RangeType)
3793+ , _rStartIndex :: !(Maybe (Textual Int32))
3794+ } deriving (Eq,Show,Data,Typeable,Generic)
3796+-- | Creates a value of 'Range' with the minimum fields required to make a request.
3798+-- Use one of the following lenses to modify other fields as desired:
3809+ { _rEndIndex = Nothing
3811+ , _rStartIndex = Nothing
3814+-- | The optional zero-based index of the end of the collection. Required for
3815+-- \`SPECIFIC_RANGE\` delete mode.
3816+rEndIndex :: Lens' Range (Maybe Int32)
3818+ = lens _rEndIndex (\ s a -> s{_rEndIndex = a}) .
3821+-- | The type of range.
3822+rType :: Lens' Range (Maybe RangeType)
3823+rType = lens _rType (\ s a -> s{_rType = a})
3825+-- | The optional zero-based index of the beginning of the collection.
3826+-- Required for \`SPECIFIC_RANGE\` and \`FROM_START_INDEX\` ranges.
3827+rStartIndex :: Lens' Range (Maybe Int32)
3829+ = lens _rStartIndex (\ s a -> s{_rStartIndex = a}) .
3832+instance FromJSON Range where
3834+ = withObject "Range"
3837+ (o .:? "endIndex") <*> (o .:? "type") <*>
3838+ (o .:? "startIndex"))
3840+instance ToJSON Range where
3844+ [("endIndex" .=) <$> _rEndIndex,
3845+ ("type" .=) <$> _rType,
3846+ ("startIndex" .=) <$> _rStartIndex])
3848+-- | Creates an image.
3850+-- /See:/ 'createImageRequest' smart constructor.
3851+data CreateImageRequest = CreateImageRequest'
3852+ { _cirObjectId :: !(Maybe Text)
3853+ , _cirURL :: !(Maybe Text)
3854+ , _cirElementProperties :: !(Maybe PageElementProperties)
3855+ } deriving (Eq,Show,Data,Typeable,Generic)
3857+-- | Creates a value of 'CreateImageRequest' with the minimum fields required to make a request.
3859+-- Use one of the following lenses to modify other fields as desired:
3865+-- * 'cirElementProperties'
3867+ :: CreateImageRequest
3868+createImageRequest =
3869+ CreateImageRequest'
3870+ { _cirObjectId = Nothing
3871+ , _cirURL = Nothing
3872+ , _cirElementProperties = Nothing
3875+-- | A user-supplied object ID. If you specify an ID, it must be unique among
3876+-- all pages and page elements in the presentation. The ID must start with
3877+-- an alphanumeric character or an underscore (matches regex
3878+-- \`[a-zA-Z0-9_]\`); remaining characters may include those as well as a
3879+-- hyphen or colon (matches regex \`[a-zA-Z0-9_-:]\`). The length of the ID
3880+-- must not be less than 5 or greater than 50. If you don\'t specify an ID,
3881+-- a unique one is generated.
3882+cirObjectId :: Lens' CreateImageRequest (Maybe Text)
3884+ = lens _cirObjectId (\ s a -> s{_cirObjectId = a})
3886+-- | The image URL. The image is fetched once at insertion time and a copy is
3887+-- stored for display inside the presentation. Images must be less than
3888+-- 50MB in size, cannot exceed 25 megapixels, and must be in either in PNG,
3889+-- JPEG, or GIF format.
3890+cirURL :: Lens' CreateImageRequest (Maybe Text)
3891+cirURL = lens _cirURL (\ s a -> s{_cirURL = a})
3893+-- | The element properties for the image. When the aspect ratio of the
3894+-- provided size does not match the image aspect ratio, the image is scaled
3895+-- and centered with respect to the size in order to maintain aspect ratio.
3896+-- The provided transform is applied after this operation.
3897+cirElementProperties :: Lens' CreateImageRequest (Maybe PageElementProperties)
3898+cirElementProperties
3899+ = lens _cirElementProperties
3900+ (\ s a -> s{_cirElementProperties = a})
3902+instance FromJSON CreateImageRequest where
3904+ = withObject "CreateImageRequest"
3906+ CreateImageRequest' <$>
3907+ (o .:? "objectId") <*> (o .:? "url") <*>
3908+ (o .:? "elementProperties"))
3910+instance ToJSON CreateImageRequest where
3911+ toJSON CreateImageRequest'{..}
3914+ [("objectId" .=) <$> _cirObjectId,
3915+ ("url" .=) <$> _cirURL,
3916+ ("elementProperties" .=) <$> _cirElementProperties])
3918+-- | Represents the styling that can be applied to a TextRun. If this text is
3919+-- contained in a shape with a parent placeholder, then these text styles
3920+-- may be inherited from the parent. Which text styles are inherited depend
3921+-- on the nesting level of lists: * A text run in a paragraph that is not
3922+-- in a list will inherit its text style from the the newline character in
3923+-- the paragraph at the 0 nesting level of the list inside the parent
3924+-- placeholder. * A text run in a paragraph that is in a list will inherit
3925+-- its text style from the newline character in the paragraph at its
3926+-- corresponding nesting level of the list inside the parent placeholder.
3927+-- Inherited text styles are represented as unset fields in this message.
3928+-- If text is contained in a shape without a parent placeholder, unsetting
3929+-- these fields will revert the style to a value matching the defaults in
3930+-- the Slides editor.
3932+-- /See:/ 'textStyle' smart constructor.
3933+data TextStyle = TextStyle'
3934+ { _tsFontFamily :: !(Maybe Text)
3935+ , _tsLink :: !(Maybe Link)
3936+ , _tsBackgRoundColor :: !(Maybe OptionalColor)
3937+ , _tsBaselineOffSet :: !(Maybe TextStyleBaselineOffSet)
3938+ , _tsForegRoundColor :: !(Maybe OptionalColor)
3939+ , _tsFontSize :: !(Maybe Dimension)
3940+ , _tsSmallCaps :: !(Maybe Bool)
3941+ , _tsUnderline :: !(Maybe Bool)
3942+ , _tsItalic :: !(Maybe Bool)
3943+ , _tsBold :: !(Maybe Bool)
3944+ , _tsStrikethrough :: !(Maybe Bool)
3945+ } deriving (Eq,Show,Data,Typeable,Generic)
3947+-- | Creates a value of 'TextStyle' with the minimum fields required to make a request.
3949+-- Use one of the following lenses to modify other fields as desired:
3955+-- * 'tsBackgRoundColor'
3957+-- * 'tsBaselineOffSet'
3959+-- * 'tsForegRoundColor'
3971+-- * 'tsStrikethrough'
3976+ { _tsFontFamily = Nothing
3977+ , _tsLink = Nothing
3978+ , _tsBackgRoundColor = Nothing
3979+ , _tsBaselineOffSet = Nothing
3980+ , _tsForegRoundColor = Nothing
3981+ , _tsFontSize = Nothing
3982+ , _tsSmallCaps = Nothing
3983+ , _tsUnderline = Nothing
3984+ , _tsItalic = Nothing
3985+ , _tsBold = Nothing
3986+ , _tsStrikethrough = Nothing
3989+-- | The font family of the text. The font family can be any font from the
3990+-- Font menu in Slides or from [Google Fonts]
3991+-- (https:\/\/fonts.google.com\/). If the font name is unrecognized, the
3992+-- text is rendered in \`Arial\`. Some fonts can affect the weight of the
3993+-- text. If an update request specifies values for both \`font_family\` and
3994+-- \`bold\`, the explicitly-set \`bold\` value is used.
3995+tsFontFamily :: Lens' TextStyle (Maybe Text)
3997+ = lens _tsFontFamily (\ s a -> s{_tsFontFamily = a})
3999+-- | The hyperlink destination of the text. If unset, there is no link. Links
4000+-- are not inherited from parent text. Changing the link in an update
4001+-- request causes some other changes to the text style of the range: * When
4002+-- setting a link, the text foreground color will be set to
4003+-- ThemeColorType.HYPERLINK and the text will be underlined. If these
4004+-- fields are modified in the same request, those values will be used
4005+-- instead of the link defaults. * Setting a link on a text range that
4006+-- overlaps with an existing link will also update the existing link to
4007+-- point to the new URL. * Links are not settable on newline characters. As
4008+-- a result, setting a link on a text range that crosses a paragraph
4009+-- boundary, such as \`\"ABC\\n123\"\`, will separate the newline
4010+-- character(s) into their own text runs. The link will be applied
4011+-- separately to the runs before and after the newline. * Removing a link
4012+-- will update the text style of the range to match the style of the
4013+-- preceding text (or the default text styles if the preceding text is
4014+-- another link) unless different styles are being set in the same request.
4015+tsLink :: Lens' TextStyle (Maybe Link)
4016+tsLink = lens _tsLink (\ s a -> s{_tsLink = a})
4018+-- | The background color of the text. If set, the color is either opaque or
4019+-- transparent, depending on if the \`opaque_color\` field in it is set.
4020+tsBackgRoundColor :: Lens' TextStyle (Maybe OptionalColor)
4022+ = lens _tsBackgRoundColor
4023+ (\ s a -> s{_tsBackgRoundColor = a})
4025+-- | The text\'s vertical offset from its normal position. Text with
4026+-- \`SUPERSCRIPT\` or \`SUBSCRIPT\` baseline offsets is automatically
4027+-- rendered in a smaller font size, computed based on the \`font_size\`
4028+-- field. The \`font_size\` itself is not affected by changes in this
4030+tsBaselineOffSet :: Lens' TextStyle (Maybe TextStyleBaselineOffSet)
4032+ = lens _tsBaselineOffSet
4033+ (\ s a -> s{_tsBaselineOffSet = a})
4035+-- | The color of the text itself. If set, the color is either opaque or
4036+-- transparent, depending on if the \`opaque_color\` field in it is set.
4037+tsForegRoundColor :: Lens' TextStyle (Maybe OptionalColor)
4039+ = lens _tsForegRoundColor
4040+ (\ s a -> s{_tsForegRoundColor = a})
4042+-- | The size of the text\'s font. When read, the \`font_size\` will
4043+-- specified in points.
4044+tsFontSize :: Lens' TextStyle (Maybe Dimension)
4046+ = lens _tsFontSize (\ s a -> s{_tsFontSize = a})
4048+-- | Whether or not the text is in small capital letters.
4049+tsSmallCaps :: Lens' TextStyle (Maybe Bool)
4051+ = lens _tsSmallCaps (\ s a -> s{_tsSmallCaps = a})
4053+-- | Whether or not the text is underlined.
4054+tsUnderline :: Lens' TextStyle (Maybe Bool)
4056+ = lens _tsUnderline (\ s a -> s{_tsUnderline = a})
4058+-- | Whether or not the text is italicized.
4059+tsItalic :: Lens' TextStyle (Maybe Bool)
4060+tsItalic = lens _tsItalic (\ s a -> s{_tsItalic = a})
4062+-- | Whether or not the text is bold.
4063+tsBold :: Lens' TextStyle (Maybe Bool)
4064+tsBold = lens _tsBold (\ s a -> s{_tsBold = a})
4066+-- | Whether or not the text is struck through.
4067+tsStrikethrough :: Lens' TextStyle (Maybe Bool)
4069+ = lens _tsStrikethrough
4070+ (\ s a -> s{_tsStrikethrough = a})
4072+instance FromJSON TextStyle where
4074+ = withObject "TextStyle"
4077+ (o .:? "fontFamily") <*> (o .:? "link") <*>
4078+ (o .:? "backgroundColor")
4079+ <*> (o .:? "baselineOffset")
4080+ <*> (o .:? "foregroundColor")
4081+ <*> (o .:? "fontSize")
4082+ <*> (o .:? "smallCaps")
4083+ <*> (o .:? "underline")
4084+ <*> (o .:? "italic")
4086+ <*> (o .:? "strikethrough"))
4088+instance ToJSON TextStyle where
4089+ toJSON TextStyle'{..}
4092+ [("fontFamily" .=) <$> _tsFontFamily,
4093+ ("link" .=) <$> _tsLink,
4094+ ("backgroundColor" .=) <$> _tsBackgRoundColor,
4095+ ("baselineOffset" .=) <$> _tsBaselineOffSet,
4096+ ("foregroundColor" .=) <$> _tsForegRoundColor,
4097+ ("fontSize" .=) <$> _tsFontSize,
4098+ ("smallCaps" .=) <$> _tsSmallCaps,
4099+ ("underline" .=) <$> _tsUnderline,
4100+ ("italic" .=) <$> _tsItalic, ("bold" .=) <$> _tsBold,
4101+ ("strikethrough" .=) <$> _tsStrikethrough])
4103+-- | A solid color fill. The page or page element is filled entirely with the
4104+-- specified color value. If any field is unset, its value may be inherited
4105+-- from a parent placeholder if it exists.
4107+-- /See:/ 'solidFill' smart constructor.
4108+data SolidFill = SolidFill'
4109+ { _sfColor :: !(Maybe OpaqueColor)
4110+ , _sfAlpha :: !(Maybe (Textual Double))
4111+ } deriving (Eq,Show,Data,Typeable,Generic)
4113+-- | Creates a value of 'SolidFill' with the minimum fields required to make a request.
4115+-- Use one of the following lenses to modify other fields as desired:
4124+ { _sfColor = Nothing
4125+ , _sfAlpha = Nothing
4128+-- | The color value of the solid fill.
4129+sfColor :: Lens' SolidFill (Maybe OpaqueColor)
4130+sfColor = lens _sfColor (\ s a -> s{_sfColor = a})
4132+-- | The fraction of this \`color\` that should be applied to the pixel. That
4133+-- is, the final pixel color is defined by the equation: pixel color =
4134+-- alpha * (color) + (1.0 - alpha) * (background color) This means that a
4135+-- value of 1.0 corresponds to a solid color, whereas a value of 0.0
4136+-- corresponds to a completely transparent color.
4137+sfAlpha :: Lens' SolidFill (Maybe Double)
4139+ = lens _sfAlpha (\ s a -> s{_sfAlpha = a}) .
4142+instance FromJSON SolidFill where
4144+ = withObject "SolidFill"
4146+ SolidFill' <$> (o .:? "color") <*> (o .:? "alpha"))
4148+instance ToJSON SolidFill where
4149+ toJSON SolidFill'{..}
4152+ [("color" .=) <$> _sfColor,
4153+ ("alpha" .=) <$> _sfAlpha])
4155+-- | Update the styling of text in a Shape or Table.
4157+-- /See:/ 'updateTextStyleRequest' smart constructor.
4158+data UpdateTextStyleRequest = UpdateTextStyleRequest'
4159+ { _utsrStyle :: !(Maybe TextStyle)
4160+ , _utsrTextRange :: !(Maybe Range)
4161+ , _utsrObjectId :: !(Maybe Text)
4162+ , _utsrCellLocation :: !(Maybe TableCellLocation)
4163+ , _utsrFields :: !(Maybe FieldMask)
4164+ } deriving (Eq,Show,Data,Typeable,Generic)
4166+-- | Creates a value of 'UpdateTextStyleRequest' with the minimum fields required to make a request.
4168+-- Use one of the following lenses to modify other fields as desired:
4172+-- * 'utsrTextRange'
4176+-- * 'utsrCellLocation'
4179+updateTextStyleRequest
4180+ :: UpdateTextStyleRequest
4181+updateTextStyleRequest =
4182+ UpdateTextStyleRequest'
4183+ { _utsrStyle = Nothing
4184+ , _utsrTextRange = Nothing
4185+ , _utsrObjectId = Nothing
4186+ , _utsrCellLocation = Nothing
4187+ , _utsrFields = Nothing
4190+-- | The style(s) to set on the text. If the value for a particular style
4191+-- matches that of the parent, that style will be set to inherit. Certain
4192+-- text style changes may cause other changes meant to mirror the behavior
4193+-- of the Slides editor. See the documentation of TextStyle for more
4195+utsrStyle :: Lens' UpdateTextStyleRequest (Maybe TextStyle)
4197+ = lens _utsrStyle (\ s a -> s{_utsrStyle = a})
4199+-- | The range of text to style. The range may be extended to include
4200+-- adjacent newlines. If the range fully contains a paragraph belonging to
4201+-- a list, the paragraph\'s bullet is also updated with the matching text
4203+utsrTextRange :: Lens' UpdateTextStyleRequest (Maybe Range)
4205+ = lens _utsrTextRange
4206+ (\ s a -> s{_utsrTextRange = a})
4208+-- | The object ID of the shape or table with the text to be styled.
4209+utsrObjectId :: Lens' UpdateTextStyleRequest (Maybe Text)
4211+ = lens _utsrObjectId (\ s a -> s{_utsrObjectId = a})
4213+-- | The optional table cell location if the text to be styled is in a table
4214+-- cell. If present, the object_id must refer to a table.
4215+utsrCellLocation :: Lens' UpdateTextStyleRequest (Maybe TableCellLocation)
4217+ = lens _utsrCellLocation
4218+ (\ s a -> s{_utsrCellLocation = a})
4220+-- | The fields that should be updated. At least one field must be specified.
4221+-- The root \`style\` is implied and should not be specified. A single
4222+-- \`\"*\"\` can be used as short-hand for listing every field. For example
4223+-- to update the text style to bold, set \`fields\` to \`\"bold\"\`. To
4224+-- reset a property to its default value, include its field name in the
4225+-- field mask but leave the field itself unset.
4226+utsrFields :: Lens' UpdateTextStyleRequest (Maybe FieldMask)
4228+ = lens _utsrFields (\ s a -> s{_utsrFields = a})
4230+instance FromJSON UpdateTextStyleRequest where
4232+ = withObject "UpdateTextStyleRequest"
4234+ UpdateTextStyleRequest' <$>
4235+ (o .:? "style") <*> (o .:? "textRange") <*>
4237+ <*> (o .:? "cellLocation")
4238+ <*> (o .:? "fields"))
4240+instance ToJSON UpdateTextStyleRequest where
4241+ toJSON UpdateTextStyleRequest'{..}
4244+ [("style" .=) <$> _utsrStyle,
4245+ ("textRange" .=) <$> _utsrTextRange,
4246+ ("objectId" .=) <$> _utsrObjectId,
4247+ ("cellLocation" .=) <$> _utsrCellLocation,
4248+ ("fields" .=) <$> _utsrFields])
4250+-- | A recolor effect applied on an image.
4252+-- /See:/ 'recolor' smart constructor.
4253+newtype Recolor = Recolor'
4254+ { _rRecolorStops :: Maybe [ColorStop]
4255+ } deriving (Eq,Show,Data,Typeable,Generic)
4257+-- | Creates a value of 'Recolor' with the minimum fields required to make a request.
4259+-- Use one of the following lenses to modify other fields as desired:
4261+-- * 'rRecolorStops'
4266+ { _rRecolorStops = Nothing
4269+-- | The recolor effect is represented by a gradient, which is a list of
4270+-- color stops. This property is read-only.
4271+rRecolorStops :: Lens' Recolor [ColorStop]
4273+ = lens _rRecolorStops
4274+ (\ s a -> s{_rRecolorStops = a})
4278+instance FromJSON Recolor where
4280+ = withObject "Recolor"
4282+ Recolor' <$> (o .:? "recolorStops" .!= mempty))
4284+instance ToJSON Recolor where
4285+ toJSON Recolor'{..}
4287+ (catMaybes [("recolorStops" .=) <$> _rRecolorStops])
4289+-- | The properties of the Page. The page will inherit properties from the
4290+-- parent page. Depending on the page type the hierarchy is defined in
4291+-- either SlideProperties or LayoutProperties.
4293+-- /See:/ 'pageProperties' smart constructor.
4294+data PageProperties = PageProperties'
4295+ { _ppPageBackgRoundFill :: !(Maybe PageBackgRoundFill)
4296+ , _ppColorScheme :: !(Maybe ColorScheme)
4297+ } deriving (Eq,Show,Data,Typeable,Generic)
4299+-- | Creates a value of 'PageProperties' with the minimum fields required to make a request.
4301+-- Use one of the following lenses to modify other fields as desired:
4303+-- * 'ppPageBackgRoundFill'
4305+-- * 'ppColorScheme'
4310+ { _ppPageBackgRoundFill = Nothing
4311+ , _ppColorScheme = Nothing
4314+-- | The background fill of the page. If unset, the background fill is
4315+-- inherited from a parent page if it exists. If the page has no parent,
4316+-- then the background fill defaults to the corresponding fill in the
4318+ppPageBackgRoundFill :: Lens' PageProperties (Maybe PageBackgRoundFill)
4319+ppPageBackgRoundFill
4320+ = lens _ppPageBackgRoundFill
4321+ (\ s a -> s{_ppPageBackgRoundFill = a})
4323+-- | The color scheme of the page. If unset, the color scheme is inherited
4324+-- from a parent page. If the page has no parent, the color scheme uses a
4325+-- default Slides color scheme. This field is read-only.
4326+ppColorScheme :: Lens' PageProperties (Maybe ColorScheme)
4328+ = lens _ppColorScheme
4329+ (\ s a -> s{_ppColorScheme = a})
4331+instance FromJSON PageProperties where
4333+ = withObject "PageProperties"
4335+ PageProperties' <$>
4336+ (o .:? "pageBackgroundFill") <*>
4337+ (o .:? "colorScheme"))
4339+instance ToJSON PageProperties where
4340+ toJSON PageProperties'{..}
4343+ [("pageBackgroundFill" .=) <$> _ppPageBackgRoundFill,
4344+ ("colorScheme" .=) <$> _ppColorScheme])
4346+-- | The page background fill.
4348+-- /See:/ 'pageBackgRoundFill' smart constructor.
4349+data PageBackgRoundFill = PageBackgRoundFill'
4350+ { _pbrfStretchedPictureFill :: !(Maybe StretchedPictureFill)
4351+ , _pbrfSolidFill :: !(Maybe SolidFill)
4352+ , _pbrfPropertyState :: !(Maybe PageBackgRoundFillPropertyState)
4353+ } deriving (Eq,Show,Data,Typeable,Generic)
4355+-- | Creates a value of 'PageBackgRoundFill' with the minimum fields required to make a request.
4357+-- Use one of the following lenses to modify other fields as desired:
4359+-- * 'pbrfStretchedPictureFill'
4361+-- * 'pbrfSolidFill'
4363+-- * 'pbrfPropertyState'
4365+ :: PageBackgRoundFill
4366+pageBackgRoundFill =
4367+ PageBackgRoundFill'
4368+ { _pbrfStretchedPictureFill = Nothing
4369+ , _pbrfSolidFill = Nothing
4370+ , _pbrfPropertyState = Nothing
4373+-- | Stretched picture fill.
4374+pbrfStretchedPictureFill :: Lens' PageBackgRoundFill (Maybe StretchedPictureFill)
4375+pbrfStretchedPictureFill
4376+ = lens _pbrfStretchedPictureFill
4377+ (\ s a -> s{_pbrfStretchedPictureFill = a})
4379+-- | Solid color fill.
4380+pbrfSolidFill :: Lens' PageBackgRoundFill (Maybe SolidFill)
4382+ = lens _pbrfSolidFill
4383+ (\ s a -> s{_pbrfSolidFill = a})
4385+-- | The background fill property state. Updating the the fill on a page will
4386+-- implicitly update this field to \`RENDERED\`, unless another value is
4387+-- specified in the same request. To have no fill on a page, set this field
4388+-- to \`NOT_RENDERED\`. In this case, any other fill fields set in the same
4389+-- request will be ignored.
4390+pbrfPropertyState :: Lens' PageBackgRoundFill (Maybe PageBackgRoundFillPropertyState)
4392+ = lens _pbrfPropertyState
4393+ (\ s a -> s{_pbrfPropertyState = a})
4395+instance FromJSON PageBackgRoundFill where
4397+ = withObject "PageBackgRoundFill"
4399+ PageBackgRoundFill' <$>
4400+ (o .:? "stretchedPictureFill") <*>
4401+ (o .:? "solidFill")
4402+ <*> (o .:? "propertyState"))
4404+instance ToJSON PageBackgRoundFill where
4405+ toJSON PageBackgRoundFill'{..}
4408+ [("stretchedPictureFill" .=) <$>
4409+ _pbrfStretchedPictureFill,
4410+ ("solidFill" .=) <$> _pbrfSolidFill,
4411+ ("propertyState" .=) <$> _pbrfPropertyState])
4413+-- | Contains properties describing the look and feel of a list bullet at a
4414+-- given level of nesting.
4416+-- /See:/ 'nestingLevel' smart constructor.
4417+newtype NestingLevel = NestingLevel'
4418+ { _nlBulletStyle :: Maybe TextStyle
4419+ } deriving (Eq,Show,Data,Typeable,Generic)
4421+-- | Creates a value of 'NestingLevel' with the minimum fields required to make a request.
4423+-- Use one of the following lenses to modify other fields as desired:
4425+-- * 'nlBulletStyle'
4430+ { _nlBulletStyle = Nothing
4433+-- | The style of a bullet at this level of nesting.
4434+nlBulletStyle :: Lens' NestingLevel (Maybe TextStyle)
4436+ = lens _nlBulletStyle
4437+ (\ s a -> s{_nlBulletStyle = a})
4439+instance FromJSON NestingLevel where
4441+ = withObject "NestingLevel"
4442+ (\ o -> NestingLevel' <$> (o .:? "bulletStyle"))
4444+instance ToJSON NestingLevel where
4445+ toJSON NestingLevel'{..}
4447+ (catMaybes [("bulletStyle" .=) <$> _nlBulletStyle])
4449+-- | A themeable solid color value.
4451+-- /See:/ 'opaqueColor' smart constructor.
4452+data OpaqueColor = OpaqueColor'
4453+ { _ocThemeColor :: !(Maybe OpaqueColorThemeColor)
4454+ , _ocRgbColor :: !(Maybe RgbColor)
4455+ } deriving (Eq,Show,Data,Typeable,Generic)
4457+-- | Creates a value of 'OpaqueColor' with the minimum fields required to make a request.
4459+-- Use one of the following lenses to modify other fields as desired:
4468+ { _ocThemeColor = Nothing
4469+ , _ocRgbColor = Nothing
4472+-- | An opaque theme color.
4473+ocThemeColor :: Lens' OpaqueColor (Maybe OpaqueColorThemeColor)
4475+ = lens _ocThemeColor (\ s a -> s{_ocThemeColor = a})
4477+-- | An opaque RGB color.
4478+ocRgbColor :: Lens' OpaqueColor (Maybe RgbColor)
4480+ = lens _ocRgbColor (\ s a -> s{_ocRgbColor = a})
4482+instance FromJSON OpaqueColor where
4484+ = withObject "OpaqueColor"
4487+ (o .:? "themeColor") <*> (o .:? "rgbColor"))
4489+instance ToJSON OpaqueColor where
4490+ toJSON OpaqueColor'{..}
4493+ [("themeColor" .=) <$> _ocThemeColor,
4494+ ("rgbColor" .=) <$> _ocRgbColor])
4496+-- | Creates a new slide.
4498+-- /See:/ 'createSlideRequest' smart constructor.
4499+data CreateSlideRequest = CreateSlideRequest'
4500+ { _csrsObjectId :: !(Maybe Text)
4501+ , _csrsSlideLayoutReference :: !(Maybe LayoutReference)
4502+ , _csrsInsertionIndex :: !(Maybe (Textual Int32))
4503+ } deriving (Eq,Show,Data,Typeable,Generic)
4505+-- | Creates a value of 'CreateSlideRequest' with the minimum fields required to make a request.
4507+-- Use one of the following lenses to modify other fields as desired:
4511+-- * 'csrsSlideLayoutReference'
4513+-- * 'csrsInsertionIndex'
4515+ :: CreateSlideRequest
4516+createSlideRequest =
4517+ CreateSlideRequest'
4518+ { _csrsObjectId = Nothing
4519+ , _csrsSlideLayoutReference = Nothing
4520+ , _csrsInsertionIndex = Nothing
4523+-- | A user-supplied object ID. If you specify an ID, it must be unique among
4524+-- all pages and page elements in the presentation. The ID must start with
4525+-- an alphanumeric character or an underscore (matches regex
4526+-- \`[a-zA-Z0-9_]\`); remaining characters may include those as well as a
4527+-- hyphen or colon (matches regex \`[a-zA-Z0-9_-:]\`). The length of the ID
4528+-- must not be less than 5 or greater than 50. If you don\'t specify an ID,
4529+-- a unique one is generated.
4530+csrsObjectId :: Lens' CreateSlideRequest (Maybe Text)
4532+ = lens _csrsObjectId (\ s a -> s{_csrsObjectId = a})
4534+-- | Layout reference of the slide to be inserted, based on the *current
4535+-- master*, which is one of the following: - The master of the previous
4536+-- slide index. - The master of the first slide, if the insertion_index is
4537+-- zero. - The first master in the presentation, if there are no slides. If
4538+-- the LayoutReference is not found in the current master, a 400 bad
4539+-- request error is returned. If you don\'t specify a layout reference,
4540+-- then the new slide will use the predefined layout \`BLANK\`.
4541+csrsSlideLayoutReference :: Lens' CreateSlideRequest (Maybe LayoutReference)
4542+csrsSlideLayoutReference
4543+ = lens _csrsSlideLayoutReference
4544+ (\ s a -> s{_csrsSlideLayoutReference = a})
4546+-- | The optional zero-based index indicating where to insert the slides. If
4547+-- you don\'t specify an index, the new slide is created at the end.
4548+csrsInsertionIndex :: Lens' CreateSlideRequest (Maybe Int32)
4550+ = lens _csrsInsertionIndex
4551+ (\ s a -> s{_csrsInsertionIndex = a})
4554+instance FromJSON CreateSlideRequest where
4556+ = withObject "CreateSlideRequest"
4558+ CreateSlideRequest' <$>
4559+ (o .:? "objectId") <*> (o .:? "slideLayoutReference")
4560+ <*> (o .:? "insertionIndex"))
4562+instance ToJSON CreateSlideRequest where
4563+ toJSON CreateSlideRequest'{..}
4566+ [("objectId" .=) <$> _csrsObjectId,
4567+ ("slideLayoutReference" .=) <$>
4568+ _csrsSlideLayoutReference,
4569+ ("insertionIndex" .=) <$> _csrsInsertionIndex])
4571+-- | A location of a single table cell within a table.
4573+-- /See:/ 'tableCellLocation' smart constructor.
4574+data TableCellLocation = TableCellLocation'
4575+ { _tclColumnIndex :: !(Maybe (Textual Int32))
4576+ , _tclRowIndex :: !(Maybe (Textual Int32))
4577+ } deriving (Eq,Show,Data,Typeable,Generic)
4579+-- | Creates a value of 'TableCellLocation' with the minimum fields required to make a request.
4581+-- Use one of the following lenses to modify other fields as desired:
4583+-- * 'tclColumnIndex'
4587+ :: TableCellLocation
4590+ { _tclColumnIndex = Nothing
4591+ , _tclRowIndex = Nothing
4594+-- | The 0-based column index.
4595+tclColumnIndex :: Lens' TableCellLocation (Maybe Int32)
4597+ = lens _tclColumnIndex
4598+ (\ s a -> s{_tclColumnIndex = a})
4601+-- | The 0-based row index.
4602+tclRowIndex :: Lens' TableCellLocation (Maybe Int32)
4604+ = lens _tclRowIndex (\ s a -> s{_tclRowIndex = a}) .
4607+instance FromJSON TableCellLocation where
4609+ = withObject "TableCellLocation"
4611+ TableCellLocation' <$>
4612+ (o .:? "columnIndex") <*> (o .:? "rowIndex"))
4614+instance ToJSON TableCellLocation where
4615+ toJSON TableCellLocation'{..}
4618+ [("columnIndex" .=) <$> _tclColumnIndex,
4619+ ("rowIndex" .=) <$> _tclRowIndex])
4621+-- | Updates the position of slides in the presentation.
4623+-- /See:/ 'updateSlidesPositionRequest' smart constructor.
4624+data UpdateSlidesPositionRequest = UpdateSlidesPositionRequest'
4625+ { _usprSlideObjectIds :: !(Maybe [Text])
4626+ , _usprInsertionIndex :: !(Maybe (Textual Int32))
4627+ } deriving (Eq,Show,Data,Typeable,Generic)
4629+-- | Creates a value of 'UpdateSlidesPositionRequest' with the minimum fields required to make a request.
4631+-- Use one of the following lenses to modify other fields as desired:
4633+-- * 'usprSlideObjectIds'
4635+-- * 'usprInsertionIndex'
4636+updateSlidesPositionRequest
4637+ :: UpdateSlidesPositionRequest
4638+updateSlidesPositionRequest =
4639+ UpdateSlidesPositionRequest'
4640+ { _usprSlideObjectIds = Nothing
4641+ , _usprInsertionIndex = Nothing
4644+-- | The IDs of the slides in the presentation that should be moved. The
4645+-- slides in this list must be in existing presentation order, without
4647+usprSlideObjectIds :: Lens' UpdateSlidesPositionRequest [Text]
4649+ = lens _usprSlideObjectIds
4650+ (\ s a -> s{_usprSlideObjectIds = a})
4654+-- | The index where the slides should be inserted, based on the slide
4655+-- arrangement before the move takes place. Must be between zero and the
4656+-- number of slides in the presentation, inclusive.
4657+usprInsertionIndex :: Lens' UpdateSlidesPositionRequest (Maybe Int32)
4659+ = lens _usprInsertionIndex
4660+ (\ s a -> s{_usprInsertionIndex = a})
4663+instance FromJSON UpdateSlidesPositionRequest where
4665+ = withObject "UpdateSlidesPositionRequest"
4667+ UpdateSlidesPositionRequest' <$>
4668+ (o .:? "slideObjectIds" .!= mempty) <*>
4669+ (o .:? "insertionIndex"))
4671+instance ToJSON UpdateSlidesPositionRequest where
4672+ toJSON UpdateSlidesPositionRequest'{..}
4675+ [("slideObjectIds" .=) <$> _usprSlideObjectIds,
4676+ ("insertionIndex" .=) <$> _usprInsertionIndex])
4678+-- | Replaces all shapes that match the given criteria with the provided
4681+-- /See:/ 'replaceAllShapesWithImageRequest' smart constructor.
4682+data ReplaceAllShapesWithImageRequest = ReplaceAllShapesWithImageRequest'
4683+ { _raswirContainsText :: !(Maybe SubstringMatchCriteria)
4684+ , _raswirImageURL :: !(Maybe Text)
4685+ , _raswirReplaceMethod :: !(Maybe ReplaceAllShapesWithImageRequestReplaceMethod)
4686+ } deriving (Eq,Show,Data,Typeable,Generic)
4688+-- | Creates a value of 'ReplaceAllShapesWithImageRequest' with the minimum fields required to make a request.
4690+-- Use one of the following lenses to modify other fields as desired:
4692+-- * 'raswirContainsText'
4694+-- * 'raswirImageURL'
4696+-- * 'raswirReplaceMethod'
4697+replaceAllShapesWithImageRequest
4698+ :: ReplaceAllShapesWithImageRequest
4699+replaceAllShapesWithImageRequest =
4700+ ReplaceAllShapesWithImageRequest'
4701+ { _raswirContainsText = Nothing
4702+ , _raswirImageURL = Nothing
4703+ , _raswirReplaceMethod = Nothing
4706+-- | If set, this request will replace all of the shapes that contain the
4708+raswirContainsText :: Lens' ReplaceAllShapesWithImageRequest (Maybe SubstringMatchCriteria)
4710+ = lens _raswirContainsText
4711+ (\ s a -> s{_raswirContainsText = a})
4713+-- | The image URL. The image is fetched once at insertion time and a copy is
4714+-- stored for display inside the presentation. Images must be less than
4715+-- 50MB in size, cannot exceed 25 megapixels, and must be in either in PNG,
4716+-- JPEG, or GIF format.
4717+raswirImageURL :: Lens' ReplaceAllShapesWithImageRequest (Maybe Text)
4719+ = lens _raswirImageURL
4720+ (\ s a -> s{_raswirImageURL = a})
4722+-- | The replace method.
4723+raswirReplaceMethod :: Lens' ReplaceAllShapesWithImageRequest (Maybe ReplaceAllShapesWithImageRequestReplaceMethod)
4725+ = lens _raswirReplaceMethod
4726+ (\ s a -> s{_raswirReplaceMethod = a})
4728+instance FromJSON ReplaceAllShapesWithImageRequest
4731+ = withObject "ReplaceAllShapesWithImageRequest"
4733+ ReplaceAllShapesWithImageRequest' <$>
4734+ (o .:? "containsText") <*> (o .:? "imageUrl") <*>
4735+ (o .:? "replaceMethod"))
4737+instance ToJSON ReplaceAllShapesWithImageRequest
4739+ toJSON ReplaceAllShapesWithImageRequest'{..}
4742+ [("containsText" .=) <$> _raswirContainsText,
4743+ ("imageUrl" .=) <$> _raswirImageURL,
4744+ ("replaceMethod" .=) <$> _raswirReplaceMethod])
4746+-- | A visual element rendered on a page.
4748+-- /See:/ 'pageElement' smart constructor.
4749+data PageElement = PageElement'
4750+ { _peTransform :: !(Maybe AffineTransform)
4751+ , _peImage :: !(Maybe Image)
4752+ , _peSize :: !(Maybe Size)
4753+ , _peSheetsChart :: !(Maybe SheetsChart)
4754+ , _peObjectId :: !(Maybe Text)
4755+ , _peLine :: !(Maybe Line)
4756+ , _peElementGroup :: !(Maybe Group)
4757+ , _peVideo :: !(Maybe Video)
4758+ , _peWordArt :: !(Maybe WordArt)
4759+ , _peShape :: !(Maybe Shape)
4760+ , _peTitle :: !(Maybe Text)
4761+ , _peTable :: !(Maybe Table)
4762+ , _peDescription :: !(Maybe Text)
4763+ } deriving (Eq,Show,Data,Typeable,Generic)
4765+-- | Creates a value of 'PageElement' with the minimum fields required to make a request.
4767+-- Use one of the following lenses to modify other fields as desired:
4775+-- * 'peSheetsChart'
4781+-- * 'peElementGroup'
4793+-- * 'peDescription'
4798+ { _peTransform = Nothing
4799+ , _peImage = Nothing
4800+ , _peSize = Nothing
4801+ , _peSheetsChart = Nothing
4802+ , _peObjectId = Nothing
4803+ , _peLine = Nothing
4804+ , _peElementGroup = Nothing
4805+ , _peVideo = Nothing
4806+ , _peWordArt = Nothing
4807+ , _peShape = Nothing
4808+ , _peTitle = Nothing
4809+ , _peTable = Nothing
4810+ , _peDescription = Nothing
4813+-- | The transform of the page element.
4814+peTransform :: Lens' PageElement (Maybe AffineTransform)
4816+ = lens _peTransform (\ s a -> s{_peTransform = a})
4818+-- | An image page element.
4819+peImage :: Lens' PageElement (Maybe Image)
4820+peImage = lens _peImage (\ s a -> s{_peImage = a})
4822+-- | The size of the page element.
4823+peSize :: Lens' PageElement (Maybe Size)
4824+peSize = lens _peSize (\ s a -> s{_peSize = a})
4826+-- | A linked chart embedded from Google Sheets. Unlinked charts are
4827+-- represented as images.
4828+peSheetsChart :: Lens' PageElement (Maybe SheetsChart)
4830+ = lens _peSheetsChart
4831+ (\ s a -> s{_peSheetsChart = a})
4833+-- | The object ID for this page element. Object IDs used by
4834+-- google.apps.slides.v1.Page and google.apps.slides.v1.PageElement share
4835+-- the same namespace.
4836+peObjectId :: Lens' PageElement (Maybe Text)
4838+ = lens _peObjectId (\ s a -> s{_peObjectId = a})
4840+-- | A line page element.
4841+peLine :: Lens' PageElement (Maybe Line)
4842+peLine = lens _peLine (\ s a -> s{_peLine = a})
4844+-- | A collection of page elements joined as a single unit.
4845+peElementGroup :: Lens' PageElement (Maybe Group)
4847+ = lens _peElementGroup
4848+ (\ s a -> s{_peElementGroup = a})
4850+-- | A video page element.
4851+peVideo :: Lens' PageElement (Maybe Video)
4852+peVideo = lens _peVideo (\ s a -> s{_peVideo = a})
4854+-- | A word art page element.
4855+peWordArt :: Lens' PageElement (Maybe WordArt)
4857+ = lens _peWordArt (\ s a -> s{_peWordArt = a})
4859+-- | A generic shape.
4860+peShape :: Lens' PageElement (Maybe Shape)
4861+peShape = lens _peShape (\ s a -> s{_peShape = a})
4863+-- | The title of the page element. Combined with description to display alt
4865+peTitle :: Lens' PageElement (Maybe Text)
4866+peTitle = lens _peTitle (\ s a -> s{_peTitle = a})
4868+-- | A table page element.
4869+peTable :: Lens' PageElement (Maybe Table)
4870+peTable = lens _peTable (\ s a -> s{_peTable = a})
4872+-- | The description of the page element. Combined with title to display alt
4874+peDescription :: Lens' PageElement (Maybe Text)
4876+ = lens _peDescription
4877+ (\ s a -> s{_peDescription = a})
4879+instance FromJSON PageElement where
4881+ = withObject "PageElement"
4884+ (o .:? "transform") <*> (o .:? "image") <*>
4886+ <*> (o .:? "sheetsChart")
4887+ <*> (o .:? "objectId")
4889+ <*> (o .:? "elementGroup")
4890+ <*> (o .:? "video")
4891+ <*> (o .:? "wordArt")
4892+ <*> (o .:? "shape")
4893+ <*> (o .:? "title")
4894+ <*> (o .:? "table")
4895+ <*> (o .:? "description"))
4897+instance ToJSON PageElement where
4898+ toJSON PageElement'{..}
4901+ [("transform" .=) <$> _peTransform,
4902+ ("image" .=) <$> _peImage, ("size" .=) <$> _peSize,
4903+ ("sheetsChart" .=) <$> _peSheetsChart,
4904+ ("objectId" .=) <$> _peObjectId,
4905+ ("line" .=) <$> _peLine,
4906+ ("elementGroup" .=) <$> _peElementGroup,
4907+ ("video" .=) <$> _peVideo,
4908+ ("wordArt" .=) <$> _peWordArt,
4909+ ("shape" .=) <$> _peShape, ("title" .=) <$> _peTitle,
4910+ ("table" .=) <$> _peTable,
4911+ ("description" .=) <$> _peDescription])
4913+-- | A color and position in a gradient band.
4915+-- /See:/ 'colorStop' smart constructor.
4916+data ColorStop = ColorStop'
4917+ { _csColor :: !(Maybe OpaqueColor)
4918+ , _csAlpha :: !(Maybe (Textual Double))
4919+ , _csPosition :: !(Maybe (Textual Double))
4920+ } deriving (Eq,Show,Data,Typeable,Generic)
4922+-- | Creates a value of 'ColorStop' with the minimum fields required to make a request.
4924+-- Use one of the following lenses to modify other fields as desired:
4935+ { _csColor = Nothing
4936+ , _csAlpha = Nothing
4937+ , _csPosition = Nothing
4940+-- | The color of the gradient stop.
4941+csColor :: Lens' ColorStop (Maybe OpaqueColor)
4942+csColor = lens _csColor (\ s a -> s{_csColor = a})
4944+-- | The alpha value of this color in the gradient band. Defaults to 1.0,
4946+csAlpha :: Lens' ColorStop (Maybe Double)
4948+ = lens _csAlpha (\ s a -> s{_csAlpha = a}) .
4951+-- | The relative position of the color stop in the gradient band measured in
4952+-- percentage. The value should be in the interval [0.0, 1.0].
4953+csPosition :: Lens' ColorStop (Maybe Double)
4955+ = lens _csPosition (\ s a -> s{_csPosition = a}) .
4958+instance FromJSON ColorStop where
4960+ = withObject "ColorStop"
4963+ (o .:? "color") <*> (o .:? "alpha") <*>
4964+ (o .:? "position"))
4966+instance ToJSON ColorStop where
4967+ toJSON ColorStop'{..}
4970+ [("color" .=) <$> _csColor,
4971+ ("alpha" .=) <$> _csAlpha,
4972+ ("position" .=) <$> _csPosition])
4974+-- | Deletes an object, either pages or page elements, from the presentation.
4976+-- /See:/ 'deleteObjectRequest' smart constructor.
4977+newtype DeleteObjectRequest = DeleteObjectRequest'
4978+ { _dObjectId :: Maybe Text
4979+ } deriving (Eq,Show,Data,Typeable,Generic)
4981+-- | Creates a value of 'DeleteObjectRequest' with the minimum fields required to make a request.
4983+-- Use one of the following lenses to modify other fields as desired:
4987+ :: DeleteObjectRequest
4988+deleteObjectRequest =
4989+ DeleteObjectRequest'
4990+ { _dObjectId = Nothing
4993+-- | The object ID of the page or page element to delete. If after a delete
4994+-- operation a group contains only 1 or no page elements, the group is also
4995+-- deleted. If a placeholder is deleted on a layout, any empty inheriting
4996+-- shapes are also deleted.
4997+dObjectId :: Lens' DeleteObjectRequest (Maybe Text)
4999+ = lens _dObjectId (\ s a -> s{_dObjectId = a})
5001+instance FromJSON DeleteObjectRequest where
5003+ = withObject "DeleteObjectRequest"
5004+ (\ o -> DeleteObjectRequest' <$> (o .:? "objectId"))
5006+instance ToJSON DeleteObjectRequest where
5007+ toJSON DeleteObjectRequest'{..}
5008+ = object (catMaybes [("objectId" .=) <$> _dObjectId])
5010+-- | The result of creating a slide.
5012+-- /See:/ 'createSlideResponse' smart constructor.
5013+newtype CreateSlideResponse = CreateSlideResponse'
5014+ { _ccObjectId :: Maybe Text
5015+ } deriving (Eq,Show,Data,Typeable,Generic)
5017+-- | Creates a value of 'CreateSlideResponse' with the minimum fields required to make a request.
5019+-- Use one of the following lenses to modify other fields as desired:
5023+ :: CreateSlideResponse
5024+createSlideResponse =
5025+ CreateSlideResponse'
5026+ { _ccObjectId = Nothing
5029+-- | The object ID of the created slide.
5030+ccObjectId :: Lens' CreateSlideResponse (Maybe Text)
5032+ = lens _ccObjectId (\ s a -> s{_ccObjectId = a})
5034+instance FromJSON CreateSlideResponse where
5036+ = withObject "CreateSlideResponse"
5037+ (\ o -> CreateSlideResponse' <$> (o .:? "objectId"))
5039+instance ToJSON CreateSlideResponse where
5040+ toJSON CreateSlideResponse'{..}
5042+ (catMaybes [("objectId" .=) <$> _ccObjectId])
5044+-- | The palette of predefined colors for a page.
5046+-- /See:/ 'colorScheme' smart constructor.
5047+newtype ColorScheme = ColorScheme'
5048+ { _csColors :: Maybe [ThemeColorPair]
5049+ } deriving (Eq,Show,Data,Typeable,Generic)
5051+-- | Creates a value of 'ColorScheme' with the minimum fields required to make a request.
5053+-- Use one of the following lenses to modify other fields as desired:
5060+ { _csColors = Nothing
5063+-- | The ThemeColorType and corresponding concrete color pairs.
5064+csColors :: Lens' ColorScheme [ThemeColorPair]
5066+ = lens _csColors (\ s a -> s{_csColors = a}) .
5070+instance FromJSON ColorScheme where
5072+ = withObject "ColorScheme"
5073+ (\ o -> ColorScheme' <$> (o .:? "colors" .!= mempty))
5075+instance ToJSON ColorScheme where
5076+ toJSON ColorScheme'{..}
5077+ = object (catMaybes [("colors" .=) <$> _csColors])
5079+-- | Properties and contents of each table cell.
5081+-- /See:/ 'tableCell' smart constructor.
5082+data TableCell = TableCell'
5083+ { _tcColumnSpan :: !(Maybe (Textual Int32))
5084+ , _tcLocation :: !(Maybe TableCellLocation)
5085+ , _tcText :: !(Maybe TextContent)
5086+ , _tcRowSpan :: !(Maybe (Textual Int32))
5087+ , _tcTableCellProperties :: !(Maybe TableCellProperties)
5088+ } deriving (Eq,Show,Data,Typeable,Generic)
5090+-- | Creates a value of 'TableCell' with the minimum fields required to make a request.
5092+-- Use one of the following lenses to modify other fields as desired:
5102+-- * 'tcTableCellProperties'
5107+ { _tcColumnSpan = Nothing
5108+ , _tcLocation = Nothing
5109+ , _tcText = Nothing
5110+ , _tcRowSpan = Nothing
5111+ , _tcTableCellProperties = Nothing
5114+-- | Column span of the cell.
5115+tcColumnSpan :: Lens' TableCell (Maybe Int32)
5117+ = lens _tcColumnSpan (\ s a -> s{_tcColumnSpan = a})
5120+-- | The location of the cell within the table.
5121+tcLocation :: Lens' TableCell (Maybe TableCellLocation)
5123+ = lens _tcLocation (\ s a -> s{_tcLocation = a})
5125+-- | The text content of the cell.
5126+tcText :: Lens' TableCell (Maybe TextContent)
5127+tcText = lens _tcText (\ s a -> s{_tcText = a})
5129+-- | Row span of the cell.
5130+tcRowSpan :: Lens' TableCell (Maybe Int32)
5132+ = lens _tcRowSpan (\ s a -> s{_tcRowSpan = a}) .
5135+-- | The properties of the table cell.
5136+tcTableCellProperties :: Lens' TableCell (Maybe TableCellProperties)
5137+tcTableCellProperties
5138+ = lens _tcTableCellProperties
5139+ (\ s a -> s{_tcTableCellProperties = a})
5141+instance FromJSON TableCell where
5143+ = withObject "TableCell"
5146+ (o .:? "columnSpan") <*> (o .:? "location") <*>
5148+ <*> (o .:? "rowSpan")
5149+ <*> (o .:? "tableCellProperties"))
5151+instance ToJSON TableCell where
5152+ toJSON TableCell'{..}
5155+ [("columnSpan" .=) <$> _tcColumnSpan,
5156+ ("location" .=) <$> _tcLocation,
5157+ ("text" .=) <$> _tcText,
5158+ ("rowSpan" .=) <$> _tcRowSpan,
5159+ ("tableCellProperties" .=) <$>
5160+ _tcTableCellProperties])
5162+-- | A map of nesting levels to the properties of bullets at the associated
5163+-- level. A list has at most nine levels of nesting, so the possible values
5164+-- for the keys of this map are 0 through 8, inclusive.
5166+-- /See:/ 'listNestingLevel' smart constructor.
5167+newtype ListNestingLevel = ListNestingLevel'
5168+ { _lnlAddtional :: HashMap Text NestingLevel
5169+ } deriving (Eq,Show,Data,Typeable,Generic)
5171+-- | Creates a value of 'ListNestingLevel' with the minimum fields required to make a request.
5173+-- Use one of the following lenses to modify other fields as desired:
5177+ :: HashMap Text NestingLevel -- ^ 'lnlAddtional'
5178+ -> ListNestingLevel
5179+listNestingLevel pLnlAddtional_ =
5181+ { _lnlAddtional = _Coerce # pLnlAddtional_
5184+lnlAddtional :: Lens' ListNestingLevel (HashMap Text NestingLevel)
5186+ = lens _lnlAddtional (\ s a -> s{_lnlAddtional = a})
5189+instance FromJSON ListNestingLevel where
5191+ = withObject "ListNestingLevel"
5192+ (\ o -> ListNestingLevel' <$> (parseJSONObject o))
5194+instance ToJSON ListNestingLevel where
5195+ toJSON = toJSON . _lnlAddtional
5197+-- | The outline of a PageElement. If these fields are unset, they may be
5198+-- inherited from a parent placeholder if it exists. If there is no parent,
5199+-- the fields will default to the value used for new page elements created
5200+-- in the Slides editor, which may depend on the page element kind.
5202+-- /See:/ 'outline' smart constructor.
5203+data Outline = Outline'
5204+ { _oOutlineFill :: !(Maybe OutlineFill)
5205+ , _oWeight :: !(Maybe Dimension)
5206+ , _oDashStyle :: !(Maybe OutlineDashStyle)
5207+ , _oPropertyState :: !(Maybe OutlinePropertyState)
5208+ } deriving (Eq,Show,Data,Typeable,Generic)
5210+-- | Creates a value of 'Outline' with the minimum fields required to make a request.
5212+-- Use one of the following lenses to modify other fields as desired:
5220+-- * 'oPropertyState'
5225+ { _oOutlineFill = Nothing
5226+ , _oWeight = Nothing
5227+ , _oDashStyle = Nothing
5228+ , _oPropertyState = Nothing
5231+-- | The fill of the outline.
5232+oOutlineFill :: Lens' Outline (Maybe OutlineFill)
5234+ = lens _oOutlineFill (\ s a -> s{_oOutlineFill = a})
5236+-- | The thickness of the outline.
5237+oWeight :: Lens' Outline (Maybe Dimension)
5238+oWeight = lens _oWeight (\ s a -> s{_oWeight = a})
5240+-- | The dash style of the outline.
5241+oDashStyle :: Lens' Outline (Maybe OutlineDashStyle)
5243+ = lens _oDashStyle (\ s a -> s{_oDashStyle = a})
5245+-- | The outline property state. Updating the the outline on a page element
5246+-- will implicitly update this field to\`RENDERED\`, unless another value
5247+-- is specified in the same request. To have no outline on a page element,
5248+-- set this field to \`NOT_RENDERED\`. In this case, any other outline
5249+-- fields set in the same request will be ignored.
5250+oPropertyState :: Lens' Outline (Maybe OutlinePropertyState)
5252+ = lens _oPropertyState
5253+ (\ s a -> s{_oPropertyState = a})
5255+instance FromJSON Outline where
5257+ = withObject "Outline"
5260+ (o .:? "outlineFill") <*> (o .:? "weight") <*>
5261+ (o .:? "dashStyle")
5262+ <*> (o .:? "propertyState"))
5264+instance ToJSON Outline where
5265+ toJSON Outline'{..}
5268+ [("outlineFill" .=) <$> _oOutlineFill,
5269+ ("weight" .=) <$> _oWeight,
5270+ ("dashStyle" .=) <$> _oDashStyle,
5271+ ("propertyState" .=) <$> _oPropertyState])
5273+-- | Update the properties of a Video.
5275+-- /See:/ 'updateVideoPropertiesRequest' smart constructor.
5276+data UpdateVideoPropertiesRequest = UpdateVideoPropertiesRequest'
5277+ { _uvprObjectId :: !(Maybe Text)
5278+ , _uvprVideoProperties :: !(Maybe VideoProperties)
5279+ , _uvprFields :: !(Maybe FieldMask)
5280+ } deriving (Eq,Show,Data,Typeable,Generic)
5282+-- | Creates a value of 'UpdateVideoPropertiesRequest' with the minimum fields required to make a request.
5284+-- Use one of the following lenses to modify other fields as desired:
5288+-- * 'uvprVideoProperties'
5291+updateVideoPropertiesRequest
5292+ :: UpdateVideoPropertiesRequest
5293+updateVideoPropertiesRequest =
5294+ UpdateVideoPropertiesRequest'
5295+ { _uvprObjectId = Nothing
5296+ , _uvprVideoProperties = Nothing
5297+ , _uvprFields = Nothing
5300+-- | The object ID of the video the updates are applied to.
5301+uvprObjectId :: Lens' UpdateVideoPropertiesRequest (Maybe Text)
5303+ = lens _uvprObjectId (\ s a -> s{_uvprObjectId = a})
5305+-- | The video properties to update.
5306+uvprVideoProperties :: Lens' UpdateVideoPropertiesRequest (Maybe VideoProperties)
5308+ = lens _uvprVideoProperties
5309+ (\ s a -> s{_uvprVideoProperties = a})
5311+-- | The fields that should be updated. At least one field must be specified.
5312+-- The root \`videoProperties\` is implied and should not be specified. A
5313+-- single \`\"*\"\` can be used as short-hand for listing every field. For
5314+-- example to update the video outline color, set \`fields\` to
5315+-- \`\"outline.outlineFill.solidFill.color\"\`. To reset a property to its
5316+-- default value, include its field name in the field mask but leave the
5317+-- field itself unset.
5318+uvprFields :: Lens' UpdateVideoPropertiesRequest (Maybe FieldMask)
5320+ = lens _uvprFields (\ s a -> s{_uvprFields = a})
5322+instance FromJSON UpdateVideoPropertiesRequest where
5324+ = withObject "UpdateVideoPropertiesRequest"
5326+ UpdateVideoPropertiesRequest' <$>
5327+ (o .:? "objectId") <*> (o .:? "videoProperties") <*>
5330+instance ToJSON UpdateVideoPropertiesRequest where
5331+ toJSON UpdateVideoPropertiesRequest'{..}
5334+ [("objectId" .=) <$> _uvprObjectId,
5335+ ("videoProperties" .=) <$> _uvprVideoProperties,
5336+ ("fields" .=) <$> _uvprFields])
5338+-- | The properties of the Video.
5340+-- /See:/ 'videoProperties' smart constructor.
5341+newtype VideoProperties = VideoProperties'
5342+ { _vpOutline :: Maybe Outline
5343+ } deriving (Eq,Show,Data,Typeable,Generic)
5345+-- | Creates a value of 'VideoProperties' with the minimum fields required to make a request.
5347+-- Use one of the following lenses to modify other fields as desired:
5354+ { _vpOutline = Nothing
5357+-- | The outline of the video. The default outline matches the defaults for
5358+-- new videos created in the Slides editor.
5359+vpOutline :: Lens' VideoProperties (Maybe Outline)
5361+ = lens _vpOutline (\ s a -> s{_vpOutline = a})
5363+instance FromJSON VideoProperties where
5365+ = withObject "VideoProperties"
5366+ (\ o -> VideoProperties' <$> (o .:? "outline"))
5368+instance ToJSON VideoProperties where
5369+ toJSON VideoProperties'{..}
5370+ = object (catMaybes [("outline" .=) <$> _vpOutline])
5372+-- | The result of creating an image.
5374+-- /See:/ 'createImageResponse' smart constructor.
5375+newtype CreateImageResponse = CreateImageResponse'
5376+ { _ciriObjectId :: Maybe Text
5377+ } deriving (Eq,Show,Data,Typeable,Generic)
5379+-- | Creates a value of 'CreateImageResponse' with the minimum fields required to make a request.
5381+-- Use one of the following lenses to modify other fields as desired:
5385+ :: CreateImageResponse
5386+createImageResponse =
5387+ CreateImageResponse'
5388+ { _ciriObjectId = Nothing
5391+-- | The object ID of the created image.
5392+ciriObjectId :: Lens' CreateImageResponse (Maybe Text)
5394+ = lens _ciriObjectId (\ s a -> s{_ciriObjectId = a})
5396+instance FromJSON CreateImageResponse where
5398+ = withObject "CreateImageResponse"
5399+ (\ o -> CreateImageResponse' <$> (o .:? "objectId"))
5401+instance ToJSON CreateImageResponse where
5402+ toJSON CreateImageResponse'{..}
5404+ (catMaybes [("objectId" .=) <$> _ciriObjectId])
5406+-- | A TextElement describes the content of a range of indices in the text
5407+-- content of a Shape or TableCell.
5409+-- /See:/ 'textElement' smart constructor.
5410+data TextElement = TextElement'
5411+ { _teParagraphMarker :: !(Maybe ParagraphMarker)
5412+ , _teAutoText :: !(Maybe AutoText)
5413+ , _teEndIndex :: !(Maybe (Textual Int32))
5414+ , _teTextRun :: !(Maybe TextRun)
5415+ , _teStartIndex :: !(Maybe (Textual Int32))
5416+ } deriving (Eq,Show,Data,Typeable,Generic)
5418+-- | Creates a value of 'TextElement' with the minimum fields required to make a request.
5420+-- Use one of the following lenses to modify other fields as desired:
5422+-- * 'teParagraphMarker'
5435+ { _teParagraphMarker = Nothing
5436+ , _teAutoText = Nothing
5437+ , _teEndIndex = Nothing
5438+ , _teTextRun = Nothing
5439+ , _teStartIndex = Nothing
5442+-- | A marker representing the beginning of a new paragraph. The
5443+-- \`start_index\` and \`end_index\` of this TextElement represent the
5444+-- range of the paragraph. Other TextElements with an index range contained
5445+-- inside this paragraph\'s range are considered to be part of this
5446+-- paragraph. The range of indices of two separate paragraphs will never
5448+teParagraphMarker :: Lens' TextElement (Maybe ParagraphMarker)
5450+ = lens _teParagraphMarker
5451+ (\ s a -> s{_teParagraphMarker = a})
5453+-- | A TextElement representing a spot in the text that is dynamically
5454+-- replaced with content that can change over time.
5455+teAutoText :: Lens' TextElement (Maybe AutoText)
5457+ = lens _teAutoText (\ s a -> s{_teAutoText = a})
5459+-- | The zero-based end index of this text element, exclusive, in Unicode
5461+teEndIndex :: Lens' TextElement (Maybe Int32)
5463+ = lens _teEndIndex (\ s a -> s{_teEndIndex = a}) .
5466+-- | A TextElement representing a run of text where all of the characters in
5467+-- the run have the same TextStyle. The \`start_index\` and \`end_index\`
5468+-- of TextRuns will always be fully contained in the index range of a
5469+-- single \`paragraph_marker\` TextElement. In other words, a TextRun will
5470+-- never span multiple paragraphs.
5471+teTextRun :: Lens' TextElement (Maybe TextRun)
5473+ = lens _teTextRun (\ s a -> s{_teTextRun = a})
5475+-- | The zero-based start index of this text element, in Unicode code units.
5476+teStartIndex :: Lens' TextElement (Maybe Int32)
5478+ = lens _teStartIndex (\ s a -> s{_teStartIndex = a})
5481+instance FromJSON TextElement where
5483+ = withObject "TextElement"
5486+ (o .:? "paragraphMarker") <*> (o .:? "autoText") <*>
5488+ <*> (o .:? "textRun")
5489+ <*> (o .:? "startIndex"))
5491+instance ToJSON TextElement where
5492+ toJSON TextElement'{..}
5495+ [("paragraphMarker" .=) <$> _teParagraphMarker,
5496+ ("autoText" .=) <$> _teAutoText,
5497+ ("endIndex" .=) <$> _teEndIndex,
5498+ ("textRun" .=) <$> _teTextRun,
5499+ ("startIndex" .=) <$> _teStartIndex])
5501+-- | Inserts text into a shape or a table cell.
5503+-- /See:/ 'insertTextRequest' smart constructor.
5504+data InsertTextRequest = InsertTextRequest'
5505+ { _itrText :: !(Maybe Text)
5506+ , _itrObjectId :: !(Maybe Text)
5507+ , _itrInsertionIndex :: !(Maybe (Textual Int32))
5508+ , _itrCellLocation :: !(Maybe TableCellLocation)
5509+ } deriving (Eq,Show,Data,Typeable,Generic)
5511+-- | Creates a value of 'InsertTextRequest' with the minimum fields required to make a request.
5513+-- Use one of the following lenses to modify other fields as desired:
5519+-- * 'itrInsertionIndex'
5521+-- * 'itrCellLocation'
5523+ :: InsertTextRequest
5526+ { _itrText = Nothing
5527+ , _itrObjectId = Nothing
5528+ , _itrInsertionIndex = Nothing
5529+ , _itrCellLocation = Nothing
5532+-- | The text to be inserted. Inserting a newline character will implicitly
5533+-- create a new ParagraphMarker at that index. The paragraph style of the
5534+-- new paragraph will be copied from the paragraph at the current insertion
5535+-- index, including lists and bullets. Text styles for inserted text will
5536+-- be determined automatically, generally preserving the styling of
5537+-- neighboring text. In most cases, the text will be added to the TextRun
5538+-- that exists at the insertion index. Some control characters
5539+-- (U+0000-U+0008, U+000C-U+001F) and characters from the Unicode Basic
5540+-- Multilingual Plane Private Use Area (U+E000-U+F8FF) will be stripped out
5541+-- of the inserted text.
5542+itrText :: Lens' InsertTextRequest (Maybe Text)
5543+itrText = lens _itrText (\ s a -> s{_itrText = a})
5545+-- | The object ID of the shape or table where the text will be inserted.
5546+itrObjectId :: Lens' InsertTextRequest (Maybe Text)
5548+ = lens _itrObjectId (\ s a -> s{_itrObjectId = a})
5550+-- | The index where the text will be inserted, in Unicode code units, based
5551+-- on TextElement indexes. The index is zero-based and is computed from the
5552+-- start of the string. The index may be adjusted to prevent insertions
5553+-- inside Unicode grapheme clusters. In these cases, the text will be
5554+-- inserted immediately after the grapheme cluster.
5555+itrInsertionIndex :: Lens' InsertTextRequest (Maybe Int32)
5557+ = lens _itrInsertionIndex
5558+ (\ s a -> s{_itrInsertionIndex = a})
5561+-- | The optional table cell location if the text is to be inserted into a
5562+-- table cell. If present, the object_id must refer to a table.
5563+itrCellLocation :: Lens' InsertTextRequest (Maybe TableCellLocation)
5565+ = lens _itrCellLocation
5566+ (\ s a -> s{_itrCellLocation = a})
5568+instance FromJSON InsertTextRequest where
5570+ = withObject "InsertTextRequest"
5572+ InsertTextRequest' <$>
5573+ (o .:? "text") <*> (o .:? "objectId") <*>
5574+ (o .:? "insertionIndex")
5575+ <*> (o .:? "cellLocation"))
5577+instance ToJSON InsertTextRequest where
5578+ toJSON InsertTextRequest'{..}
5581+ [("text" .=) <$> _itrText,
5582+ ("objectId" .=) <$> _itrObjectId,
5583+ ("insertionIndex" .=) <$> _itrInsertionIndex,
5584+ ("cellLocation" .=) <$> _itrCellLocation])
5586+-- | Creates a line.
5588+-- /See:/ 'createLineRequest' smart constructor.
5589+data CreateLineRequest = CreateLineRequest'
5590+ { _clrlObjectId :: !(Maybe Text)
5591+ , _clrlLineCategory :: !(Maybe CreateLineRequestLineCategory)
5592+ , _clrlElementProperties :: !(Maybe PageElementProperties)
5593+ } deriving (Eq,Show,Data,Typeable,Generic)
5595+-- | Creates a value of 'CreateLineRequest' with the minimum fields required to make a request.
5597+-- Use one of the following lenses to modify other fields as desired:
5601+-- * 'clrlLineCategory'
5603+-- * 'clrlElementProperties'
5605+ :: CreateLineRequest
5608+ { _clrlObjectId = Nothing
5609+ , _clrlLineCategory = Nothing
5610+ , _clrlElementProperties = Nothing
5613+-- | A user-supplied object ID. If you specify an ID, it must be unique among
5614+-- all pages and page elements in the presentation. The ID must start with
5615+-- an alphanumeric character or an underscore (matches regex
5616+-- \`[a-zA-Z0-9_]\`); remaining characters may include those as well as a
5617+-- hyphen or colon (matches regex \`[a-zA-Z0-9_-:]\`). The length of the ID
5618+-- must not be less than 5 or greater than 50. If you don\'t specify an ID,
5619+-- a unique one is generated.
5620+clrlObjectId :: Lens' CreateLineRequest (Maybe Text)
5622+ = lens _clrlObjectId (\ s a -> s{_clrlObjectId = a})
5624+-- | The category of line to be created.
5625+clrlLineCategory :: Lens' CreateLineRequest (Maybe CreateLineRequestLineCategory)
5627+ = lens _clrlLineCategory
5628+ (\ s a -> s{_clrlLineCategory = a})
5630+-- | The element properties for the line.
5631+clrlElementProperties :: Lens' CreateLineRequest (Maybe PageElementProperties)
5632+clrlElementProperties
5633+ = lens _clrlElementProperties
5634+ (\ s a -> s{_clrlElementProperties = a})
5636+instance FromJSON CreateLineRequest where
5638+ = withObject "CreateLineRequest"
5640+ CreateLineRequest' <$>
5641+ (o .:? "objectId") <*> (o .:? "lineCategory") <*>
5642+ (o .:? "elementProperties"))
5644+instance ToJSON CreateLineRequest where
5645+ toJSON CreateLineRequest'{..}
5648+ [("objectId" .=) <$> _clrlObjectId,
5649+ ("lineCategory" .=) <$> _clrlLineCategory,
5650+ ("elementProperties" .=) <$> _clrlElementProperties])
5652+-- | The placeholder information that uniquely identifies a placeholder
5655+-- /See:/ 'placeholder' smart constructor.
5656+data Placeholder = Placeholder'
5657+ { _pParentObjectId :: !(Maybe Text)
5658+ , _pType :: !(Maybe PlaceholderType)
5659+ , _pIndex :: !(Maybe (Textual Int32))
5660+ } deriving (Eq,Show,Data,Typeable,Generic)
5662+-- | Creates a value of 'Placeholder' with the minimum fields required to make a request.
5664+-- Use one of the following lenses to modify other fields as desired:
5666+-- * 'pParentObjectId'
5675+ { _pParentObjectId = Nothing
5677+ , _pIndex = Nothing
5680+-- | The object ID of this shape\'s parent placeholder. If unset, the parent
5681+-- placeholder shape does not exist, so the shape does not inherit
5682+-- properties from any other shape.
5683+pParentObjectId :: Lens' Placeholder (Maybe Text)
5685+ = lens _pParentObjectId
5686+ (\ s a -> s{_pParentObjectId = a})
5688+-- | The type of the placeholder.
5689+pType :: Lens' Placeholder (Maybe PlaceholderType)
5690+pType = lens _pType (\ s a -> s{_pType = a})
5692+-- | The index of the placeholder. If the same placeholder types are the
5693+-- present in the same page, they would have different index values.
5694+pIndex :: Lens' Placeholder (Maybe Int32)
5696+ = lens _pIndex (\ s a -> s{_pIndex = a}) .
5699+instance FromJSON Placeholder where
5701+ = withObject "Placeholder"
5704+ (o .:? "parentObjectId") <*> (o .:? "type") <*>
5707+instance ToJSON Placeholder where
5708+ toJSON Placeholder'{..}
5711+ [("parentObjectId" .=) <$> _pParentObjectId,
5712+ ("type" .=) <$> _pType, ("index" .=) <$> _pIndex])
5714+-- | The properties of Page are only relevant for pages with page_type
5717+-- /See:/ 'layoutProperties' smart constructor.
5718+data LayoutProperties = LayoutProperties'
5719+ { _lpMasterObjectId :: !(Maybe Text)
5720+ , _lpName :: !(Maybe Text)
5721+ , _lpDisplayName :: !(Maybe Text)
5722+ } deriving (Eq,Show,Data,Typeable,Generic)
5724+-- | Creates a value of 'LayoutProperties' with the minimum fields required to make a request.
5726+-- Use one of the following lenses to modify other fields as desired:
5728+-- * 'lpMasterObjectId'
5732+-- * 'lpDisplayName'
5734+ :: LayoutProperties
5737+ { _lpMasterObjectId = Nothing
5738+ , _lpName = Nothing
5739+ , _lpDisplayName = Nothing
5742+-- | The object ID of the master that this layout is based on.
5743+lpMasterObjectId :: Lens' LayoutProperties (Maybe Text)
5745+ = lens _lpMasterObjectId
5746+ (\ s a -> s{_lpMasterObjectId = a})
5748+-- | The name of the layout.
5749+lpName :: Lens' LayoutProperties (Maybe Text)
5750+lpName = lens _lpName (\ s a -> s{_lpName = a})
5752+-- | The human readable name of the layout in the presentation\'s locale.
5753+lpDisplayName :: Lens' LayoutProperties (Maybe Text)
5755+ = lens _lpDisplayName
5756+ (\ s a -> s{_lpDisplayName = a})
5758+instance FromJSON LayoutProperties where
5760+ = withObject "LayoutProperties"
5762+ LayoutProperties' <$>
5763+ (o .:? "masterObjectId") <*> (o .:? "name") <*>
5764+ (o .:? "displayName"))
5766+instance ToJSON LayoutProperties where
5767+ toJSON LayoutProperties'{..}
5770+ [("masterObjectId" .=) <$> _lpMasterObjectId,
5771+ ("name" .=) <$> _lpName,
5772+ ("displayName" .=) <$> _lpDisplayName])
5774+-- | Update the properties of a Shape.
5776+-- /See:/ 'updateShapePropertiesRequest' smart constructor.
5777+data UpdateShapePropertiesRequest = UpdateShapePropertiesRequest'
5778+ { _usprObjectId :: !(Maybe Text)
5779+ , _usprShapeProperties :: !(Maybe ShapeProperties)
5780+ , _usprFields :: !(Maybe FieldMask)
5781+ } deriving (Eq,Show,Data,Typeable,Generic)
5783+-- | Creates a value of 'UpdateShapePropertiesRequest' with the minimum fields required to make a request.
5785+-- Use one of the following lenses to modify other fields as desired:
5789+-- * 'usprShapeProperties'
5792+updateShapePropertiesRequest
5793+ :: UpdateShapePropertiesRequest
5794+updateShapePropertiesRequest =
5795+ UpdateShapePropertiesRequest'
5796+ { _usprObjectId = Nothing
5797+ , _usprShapeProperties = Nothing
5798+ , _usprFields = Nothing
5801+-- | The object ID of the shape the updates are applied to.
5802+usprObjectId :: Lens' UpdateShapePropertiesRequest (Maybe Text)
5804+ = lens _usprObjectId (\ s a -> s{_usprObjectId = a})
5806+-- | The shape properties to update.
5807+usprShapeProperties :: Lens' UpdateShapePropertiesRequest (Maybe ShapeProperties)
5809+ = lens _usprShapeProperties
5810+ (\ s a -> s{_usprShapeProperties = a})
5812+-- | The fields that should be updated. At least one field must be specified.
5813+-- The root \`shapeProperties\` is implied and should not be specified. A
5814+-- single \`\"*\"\` can be used as short-hand for listing every field. For
5815+-- example to update the shape background solid fill color, set \`fields\`
5816+-- to \`\"shapeBackgroundFill.solidFill.color\"\`. To reset a property to
5817+-- its default value, include its field name in the field mask but leave
5818+-- the field itself unset.
5819+usprFields :: Lens' UpdateShapePropertiesRequest (Maybe FieldMask)
5821+ = lens _usprFields (\ s a -> s{_usprFields = a})
5823+instance FromJSON UpdateShapePropertiesRequest where
5825+ = withObject "UpdateShapePropertiesRequest"
5827+ UpdateShapePropertiesRequest' <$>
5828+ (o .:? "objectId") <*> (o .:? "shapeProperties") <*>
5831+instance ToJSON UpdateShapePropertiesRequest where
5832+ toJSON UpdateShapePropertiesRequest'{..}
5835+ [("objectId" .=) <$> _usprObjectId,
5836+ ("shapeProperties" .=) <$> _usprShapeProperties,
5837+ ("fields" .=) <$> _usprFields])
5839+-- | A PageElement kind representing a table.
5841+-- /See:/ 'table' smart constructor.
5843+ { _tTableRows :: !(Maybe [TableRow])
5844+ , _tRows :: !(Maybe (Textual Int32))
5845+ , _tColumns :: !(Maybe (Textual Int32))
5846+ , _tTableColumns :: !(Maybe [TableColumnProperties])
5847+ } deriving (Eq,Show,Data,Typeable,Generic)
5849+-- | Creates a value of 'Table' with the minimum fields required to make a request.
5851+-- Use one of the following lenses to modify other fields as desired:
5859+-- * 'tTableColumns'
5864+ { _tTableRows = Nothing
5866+ , _tColumns = Nothing
5867+ , _tTableColumns = Nothing
5870+-- | Properties and contents of each row. Cells that span multiple rows are
5871+-- contained in only one of these rows and have a row_span greater than 1.
5872+tTableRows :: Lens' Table [TableRow]
5874+ = lens _tTableRows (\ s a -> s{_tTableRows = a}) .
5878+-- | Number of rows in the table.
5879+tRows :: Lens' Table (Maybe Int32)
5881+ = lens _tRows (\ s a -> s{_tRows = a}) .
5884+-- | Number of columns in the table.
5885+tColumns :: Lens' Table (Maybe Int32)
5887+ = lens _tColumns (\ s a -> s{_tColumns = a}) .
5890+-- | Properties of each column.
5891+tTableColumns :: Lens' Table [TableColumnProperties]
5893+ = lens _tTableColumns
5894+ (\ s a -> s{_tTableColumns = a})
5898+instance FromJSON Table where
5900+ = withObject "Table"
5903+ (o .:? "tableRows" .!= mempty) <*> (o .:? "rows") <*>
5905+ <*> (o .:? "tableColumns" .!= mempty))
5907+instance ToJSON Table where
5911+ [("tableRows" .=) <$> _tTableRows,
5912+ ("rows" .=) <$> _tRows, ("columns" .=) <$> _tColumns,
5913+ ("tableColumns" .=) <$> _tTableColumns])
5915+-- | The properties of a Shape. If the shape is a placeholder shape as
5916+-- determined by the placeholder field, then these properties may be
5917+-- inherited from a parent placeholder shape. Determining the rendered
5918+-- value of the property depends on the corresponding property_state field
5921+-- /See:/ 'shapeProperties' smart constructor.
5922+data ShapeProperties = ShapeProperties'
5923+ { _spLink :: !(Maybe Link)
5924+ , _spShadow :: !(Maybe Shadow)
5925+ , _spOutline :: !(Maybe Outline)
5926+ , _spShapeBackgRoundFill :: !(Maybe ShapeBackgRoundFill)
5927+ } deriving (Eq,Show,Data,Typeable,Generic)
5929+-- | Creates a value of 'ShapeProperties' with the minimum fields required to make a request.
5931+-- Use one of the following lenses to modify other fields as desired:
5939+-- * 'spShapeBackgRoundFill'
5944+ { _spLink = Nothing
5945+ , _spShadow = Nothing
5946+ , _spOutline = Nothing
5947+ , _spShapeBackgRoundFill = Nothing
5950+-- | The hyperlink destination of the shape. If unset, there is no link.
5951+-- Links are not inherited from parent placeholders.
5952+spLink :: Lens' ShapeProperties (Maybe Link)
5953+spLink = lens _spLink (\ s a -> s{_spLink = a})
5955+-- | The shadow properties of the shape. If unset, the shadow is inherited
5956+-- from a parent placeholder if it exists. If the shape has no parent, then
5957+-- the default shadow matches the defaults for new shapes created in the
5958+-- Slides editor. This property is read-only.
5959+spShadow :: Lens' ShapeProperties (Maybe Shadow)
5960+spShadow = lens _spShadow (\ s a -> s{_spShadow = a})
5962+-- | The outline of the shape. If unset, the outline is inherited from a
5963+-- parent placeholder if it exists. If the shape has no parent, then the
5964+-- default outline depends on the shape type, matching the defaults for new
5965+-- shapes created in the Slides editor.
5966+spOutline :: Lens' ShapeProperties (Maybe Outline)
5968+ = lens _spOutline (\ s a -> s{_spOutline = a})
5970+-- | The background fill of the shape. If unset, the background fill is
5971+-- inherited from a parent placeholder if it exists. If the shape has no
5972+-- parent, then the default background fill depends on the shape type,
5973+-- matching the defaults for new shapes created in the Slides editor.
5974+spShapeBackgRoundFill :: Lens' ShapeProperties (Maybe ShapeBackgRoundFill)
5975+spShapeBackgRoundFill
5976+ = lens _spShapeBackgRoundFill
5977+ (\ s a -> s{_spShapeBackgRoundFill = a})
5979+instance FromJSON ShapeProperties where
5981+ = withObject "ShapeProperties"
5983+ ShapeProperties' <$>
5984+ (o .:? "link") <*> (o .:? "shadow") <*>
5986+ <*> (o .:? "shapeBackgroundFill"))
5988+instance ToJSON ShapeProperties where
5989+ toJSON ShapeProperties'{..}
5992+ [("link" .=) <$> _spLink,
5993+ ("shadow" .=) <$> _spShadow,
5994+ ("outline" .=) <$> _spOutline,
5995+ ("shapeBackgroundFill" .=) <$>
5996+ _spShapeBackgRoundFill])
5998+-- | The shape background fill.
6000+-- /See:/ 'shapeBackgRoundFill' smart constructor.
6001+data ShapeBackgRoundFill = ShapeBackgRoundFill'
6002+ { _sbrfSolidFill :: !(Maybe SolidFill)
6003+ , _sbrfPropertyState :: !(Maybe ShapeBackgRoundFillPropertyState)
6004+ } deriving (Eq,Show,Data,Typeable,Generic)
6006+-- | Creates a value of 'ShapeBackgRoundFill' with the minimum fields required to make a request.
6008+-- Use one of the following lenses to modify other fields as desired:
6010+-- * 'sbrfSolidFill'
6012+-- * 'sbrfPropertyState'
6014+ :: ShapeBackgRoundFill
6015+shapeBackgRoundFill =
6016+ ShapeBackgRoundFill'
6017+ { _sbrfSolidFill = Nothing
6018+ , _sbrfPropertyState = Nothing
6021+-- | Solid color fill.
6022+sbrfSolidFill :: Lens' ShapeBackgRoundFill (Maybe SolidFill)
6024+ = lens _sbrfSolidFill
6025+ (\ s a -> s{_sbrfSolidFill = a})
6027+-- | The background fill property state. Updating the the fill on a shape
6028+-- will implicitly update this field to \`RENDERED\`, unless another value
6029+-- is specified in the same request. To have no fill on a shape, set this
6030+-- field to \`NOT_RENDERED\`. In this case, any other fill fields set in
6031+-- the same request will be ignored.
6032+sbrfPropertyState :: Lens' ShapeBackgRoundFill (Maybe ShapeBackgRoundFillPropertyState)
6034+ = lens _sbrfPropertyState
6035+ (\ s a -> s{_sbrfPropertyState = a})
6037+instance FromJSON ShapeBackgRoundFill where
6039+ = withObject "ShapeBackgRoundFill"
6041+ ShapeBackgRoundFill' <$>
6042+ (o .:? "solidFill") <*> (o .:? "propertyState"))
6044+instance ToJSON ShapeBackgRoundFill where
6045+ toJSON ShapeBackgRoundFill'{..}
6048+ [("solidFill" .=) <$> _sbrfSolidFill,
6049+ ("propertyState" .=) <$> _sbrfPropertyState])
6051+-- | Creates bullets for all of the paragraphs that overlap with the given
6052+-- text index range. The nesting level of each paragraph will be determined
6053+-- by counting leading tabs in front of each paragraph. To avoid excess
6054+-- space between the bullet and the corresponding paragraph, these leading
6055+-- tabs are removed by this request. This may change the indices of parts
6056+-- of the text. If the paragraph immediately before paragraphs being
6057+-- updated is in a list with a matching preset, the paragraphs being
6058+-- updated are added to that preceding list.
6060+-- /See:/ 'createParagraphBulletsRequest' smart constructor.
6061+data CreateParagraphBulletsRequest = CreateParagraphBulletsRequest'
6062+ { _cpbrTextRange :: !(Maybe Range)
6063+ , _cpbrObjectId :: !(Maybe Text)
6064+ , _cpbrBulletPreset :: !(Maybe CreateParagraphBulletsRequestBulletPreset)
6065+ , _cpbrCellLocation :: !(Maybe TableCellLocation)
6066+ } deriving (Eq,Show,Data,Typeable,Generic)
6068+-- | Creates a value of 'CreateParagraphBulletsRequest' with the minimum fields required to make a request.
6070+-- Use one of the following lenses to modify other fields as desired:
6072+-- * 'cpbrTextRange'
6076+-- * 'cpbrBulletPreset'
6078+-- * 'cpbrCellLocation'
6079+createParagraphBulletsRequest
6080+ :: CreateParagraphBulletsRequest
6081+createParagraphBulletsRequest =
6082+ CreateParagraphBulletsRequest'
6083+ { _cpbrTextRange = Nothing
6084+ , _cpbrObjectId = Nothing
6085+ , _cpbrBulletPreset = Nothing
6086+ , _cpbrCellLocation = Nothing
6089+-- | The range of text to apply the bullet presets to, based on TextElement
6091+cpbrTextRange :: Lens' CreateParagraphBulletsRequest (Maybe Range)
6093+ = lens _cpbrTextRange
6094+ (\ s a -> s{_cpbrTextRange = a})
6096+-- | The object ID of the shape or table containing the text to add bullets
6098+cpbrObjectId :: Lens' CreateParagraphBulletsRequest (Maybe Text)
6100+ = lens _cpbrObjectId (\ s a -> s{_cpbrObjectId = a})
6102+-- | The kinds of bullet glyphs to be used. Defaults to the
6103+-- \`BULLET_DISC_CIRCLE_SQUARE\` preset.
6104+cpbrBulletPreset :: Lens' CreateParagraphBulletsRequest (Maybe CreateParagraphBulletsRequestBulletPreset)
6106+ = lens _cpbrBulletPreset
6107+ (\ s a -> s{_cpbrBulletPreset = a})
6109+-- | The optional table cell location if the text to be modified is in a
6110+-- table cell. If present, the object_id must refer to a table.
6111+cpbrCellLocation :: Lens' CreateParagraphBulletsRequest (Maybe TableCellLocation)
6113+ = lens _cpbrCellLocation
6114+ (\ s a -> s{_cpbrCellLocation = a})
6116+instance FromJSON CreateParagraphBulletsRequest where
6118+ = withObject "CreateParagraphBulletsRequest"
6120+ CreateParagraphBulletsRequest' <$>
6121+ (o .:? "textRange") <*> (o .:? "objectId") <*>
6122+ (o .:? "bulletPreset")
6123+ <*> (o .:? "cellLocation"))
6125+instance ToJSON CreateParagraphBulletsRequest where
6126+ toJSON CreateParagraphBulletsRequest'{..}
6129+ [("textRange" .=) <$> _cpbrTextRange,
6130+ ("objectId" .=) <$> _cpbrObjectId,
6131+ ("bulletPreset" .=) <$> _cpbrBulletPreset,
6132+ ("cellLocation" .=) <$> _cpbrCellLocation])
6134+-- | Update the properties of a TableCell.
6136+-- /See:/ 'updateTableCellPropertiesRequest' smart constructor.
6137+data UpdateTableCellPropertiesRequest = UpdateTableCellPropertiesRequest'
6138+ { _utcprObjectId :: !(Maybe Text)
6139+ , _utcprTableCellProperties :: !(Maybe TableCellProperties)
6140+ , _utcprTableRange :: !(Maybe TableRange)
6141+ , _utcprFields :: !(Maybe FieldMask)
6142+ } deriving (Eq,Show,Data,Typeable,Generic)
6144+-- | Creates a value of 'UpdateTableCellPropertiesRequest' with the minimum fields required to make a request.
6146+-- Use one of the following lenses to modify other fields as desired:
6148+-- * 'utcprObjectId'
6150+-- * 'utcprTableCellProperties'
6152+-- * 'utcprTableRange'
6155+updateTableCellPropertiesRequest
6156+ :: UpdateTableCellPropertiesRequest
6157+updateTableCellPropertiesRequest =
6158+ UpdateTableCellPropertiesRequest'
6159+ { _utcprObjectId = Nothing
6160+ , _utcprTableCellProperties = Nothing
6161+ , _utcprTableRange = Nothing
6162+ , _utcprFields = Nothing
6165+-- | The object ID of the table.
6166+utcprObjectId :: Lens' UpdateTableCellPropertiesRequest (Maybe Text)
6168+ = lens _utcprObjectId
6169+ (\ s a -> s{_utcprObjectId = a})
6171+-- | The table cell properties to update.
6172+utcprTableCellProperties :: Lens' UpdateTableCellPropertiesRequest (Maybe TableCellProperties)
6173+utcprTableCellProperties
6174+ = lens _utcprTableCellProperties
6175+ (\ s a -> s{_utcprTableCellProperties = a})
6177+-- | The table range representing the subset of the table to which the
6178+-- updates are applied. If a table range is not specified, the updates will
6179+-- apply to the entire table.
6180+utcprTableRange :: Lens' UpdateTableCellPropertiesRequest (Maybe TableRange)
6182+ = lens _utcprTableRange
6183+ (\ s a -> s{_utcprTableRange = a})
6185+-- | The fields that should be updated. At least one field must be specified.
6186+-- The root \`tableCellProperties\` is implied and should not be specified.
6187+-- A single \`\"*\"\` can be used as short-hand for listing every field.
6188+-- For example to update the table cell background solid fill color, set
6189+-- \`fields\` to \`\"tableCellBackgroundFill.solidFill.color\"\`. To reset
6190+-- a property to its default value, include its field name in the field
6191+-- mask but leave the field itself unset.
6192+utcprFields :: Lens' UpdateTableCellPropertiesRequest (Maybe FieldMask)
6194+ = lens _utcprFields (\ s a -> s{_utcprFields = a})
6196+instance FromJSON UpdateTableCellPropertiesRequest
6199+ = withObject "UpdateTableCellPropertiesRequest"
6201+ UpdateTableCellPropertiesRequest' <$>
6202+ (o .:? "objectId") <*> (o .:? "tableCellProperties")
6203+ <*> (o .:? "tableRange")
6204+ <*> (o .:? "fields"))
6206+instance ToJSON UpdateTableCellPropertiesRequest
6208+ toJSON UpdateTableCellPropertiesRequest'{..}
6211+ [("objectId" .=) <$> _utcprObjectId,
6212+ ("tableCellProperties" .=) <$>
6213+ _utcprTableCellProperties,
6214+ ("tableRange" .=) <$> _utcprTableRange,
6215+ ("fields" .=) <$> _utcprFields])
6217+-- | The properties of the SheetsChart.
6219+-- /See:/ 'sheetsChartProperties' smart constructor.
6220+newtype SheetsChartProperties = SheetsChartProperties'
6221+ { _scpChartImageProperties :: Maybe ImageProperties
6222+ } deriving (Eq,Show,Data,Typeable,Generic)
6224+-- | Creates a value of 'SheetsChartProperties' with the minimum fields required to make a request.
6226+-- Use one of the following lenses to modify other fields as desired:
6228+-- * 'scpChartImageProperties'
6229+sheetsChartProperties
6230+ :: SheetsChartProperties
6231+sheetsChartProperties =
6232+ SheetsChartProperties'
6233+ { _scpChartImageProperties = Nothing
6236+-- | The properties of the embedded chart image.
6237+scpChartImageProperties :: Lens' SheetsChartProperties (Maybe ImageProperties)
6238+scpChartImageProperties
6239+ = lens _scpChartImageProperties
6240+ (\ s a -> s{_scpChartImageProperties = a})
6242+instance FromJSON SheetsChartProperties where
6244+ = withObject "SheetsChartProperties"
6246+ SheetsChartProperties' <$>
6247+ (o .:? "chartImageProperties"))
6249+instance ToJSON SheetsChartProperties where
6250+ toJSON SheetsChartProperties'{..}
6253+ [("chartImageProperties" .=) <$>
6254+ _scpChartImageProperties])
6256+-- | Styles that apply to a whole paragraph. If this text is contained in a
6257+-- shape with a parent placeholder, then these paragraph styles may be
6258+-- inherited from the parent. Which paragraph styles are inherited depend
6259+-- on the nesting level of lists: * A paragraph not in a list will inherit
6260+-- its paragraph style from the paragraph at the 0 nesting level of the
6261+-- list inside the parent placeholder. * A paragraph in a list will inherit
6262+-- its paragraph style from the paragraph at its corresponding nesting
6263+-- level of the list inside the parent placeholder. Inherited paragraph
6264+-- styles are represented as unset fields in this message.
6266+-- /See:/ 'paragraphStyle' smart constructor.
6267+data ParagraphStyle = ParagraphStyle'
6268+ { _psLineSpacing :: !(Maybe (Textual Double))
6269+ , _psDirection :: !(Maybe ParagraphStyleDirection)
6270+ , _psIndentFirstLine :: !(Maybe Dimension)
6271+ , _psIndentEnd :: !(Maybe Dimension)
6272+ , _psIndentStart :: !(Maybe Dimension)
6273+ , _psAlignment :: !(Maybe ParagraphStyleAlignment)
6274+ , _psSpaceBelow :: !(Maybe Dimension)
6275+ , _psSpacingMode :: !(Maybe ParagraphStyleSpacingMode)
6276+ , _psSpaceAbove :: !(Maybe Dimension)
6277+ } deriving (Eq,Show,Data,Typeable,Generic)
6279+-- | Creates a value of 'ParagraphStyle' with the minimum fields required to make a request.
6281+-- Use one of the following lenses to modify other fields as desired:
6283+-- * 'psLineSpacing'
6287+-- * 'psIndentFirstLine'
6291+-- * 'psIndentStart'
6297+-- * 'psSpacingMode'
6304+ { _psLineSpacing = Nothing
6305+ , _psDirection = Nothing
6306+ , _psIndentFirstLine = Nothing
6307+ , _psIndentEnd = Nothing
6308+ , _psIndentStart = Nothing
6309+ , _psAlignment = Nothing
6310+ , _psSpaceBelow = Nothing
6311+ , _psSpacingMode = Nothing
6312+ , _psSpaceAbove = Nothing
6315+-- | The amount of space between lines, as a percentage of normal, where
6316+-- normal is represented as 100.0. If unset, the value is inherited from
6317+-- the parent. This property is read-only.
6318+psLineSpacing :: Lens' ParagraphStyle (Maybe Double)
6320+ = lens _psLineSpacing
6321+ (\ s a -> s{_psLineSpacing = a})
6324+-- | The text direction of this paragraph. This property is read-only.
6325+psDirection :: Lens' ParagraphStyle (Maybe ParagraphStyleDirection)
6327+ = lens _psDirection (\ s a -> s{_psDirection = a})
6329+-- | The amount of indentation for the start of the first line of the
6330+-- paragraph. If unset, the value is inherited from the parent. This
6331+-- property is read-only.
6332+psIndentFirstLine :: Lens' ParagraphStyle (Maybe Dimension)
6334+ = lens _psIndentFirstLine
6335+ (\ s a -> s{_psIndentFirstLine = a})
6337+-- | The amount indentation for the paragraph on the side that corresponds to
6338+-- the end of the text, based on the current text direction. If unset, the
6339+-- value is inherited from the parent. This property is read-only.
6340+psIndentEnd :: Lens' ParagraphStyle (Maybe Dimension)
6342+ = lens _psIndentEnd (\ s a -> s{_psIndentEnd = a})
6344+-- | The amount indentation for the paragraph on the side that corresponds to
6345+-- the start of the text, based on the current text direction. If unset,
6346+-- the value is inherited from the parent. This property is read-only.
6347+psIndentStart :: Lens' ParagraphStyle (Maybe Dimension)
6349+ = lens _psIndentStart
6350+ (\ s a -> s{_psIndentStart = a})
6352+-- | The text alignment for this paragraph. This property is read-only.
6353+psAlignment :: Lens' ParagraphStyle (Maybe ParagraphStyleAlignment)
6355+ = lens _psAlignment (\ s a -> s{_psAlignment = a})
6357+-- | The amount of extra space above the paragraph. If unset, the value is
6358+-- inherited from the parent. This property is read-only.
6359+psSpaceBelow :: Lens' ParagraphStyle (Maybe Dimension)
6361+ = lens _psSpaceBelow (\ s a -> s{_psSpaceBelow = a})
6363+-- | The spacing mode for the paragraph. This property is read-only.
6364+psSpacingMode :: Lens' ParagraphStyle (Maybe ParagraphStyleSpacingMode)
6366+ = lens _psSpacingMode
6367+ (\ s a -> s{_psSpacingMode = a})
6369+-- | The amount of extra space above the paragraph. If unset, the value is
6370+-- inherited from the parent. This property is read-only.
6371+psSpaceAbove :: Lens' ParagraphStyle (Maybe Dimension)
6373+ = lens _psSpaceAbove (\ s a -> s{_psSpaceAbove = a})
6375+instance FromJSON ParagraphStyle where
6377+ = withObject "ParagraphStyle"
6379+ ParagraphStyle' <$>
6380+ (o .:? "lineSpacing") <*> (o .:? "direction") <*>
6381+ (o .:? "indentFirstLine")
6382+ <*> (o .:? "indentEnd")
6383+ <*> (o .:? "indentStart")
6384+ <*> (o .:? "alignment")
6385+ <*> (o .:? "spaceBelow")
6386+ <*> (o .:? "spacingMode")
6387+ <*> (o .:? "spaceAbove"))
6389+instance ToJSON ParagraphStyle where
6390+ toJSON ParagraphStyle'{..}
6393+ [("lineSpacing" .=) <$> _psLineSpacing,
6394+ ("direction" .=) <$> _psDirection,
6395+ ("indentFirstLine" .=) <$> _psIndentFirstLine,
6396+ ("indentEnd" .=) <$> _psIndentEnd,
6397+ ("indentStart" .=) <$> _psIndentStart,
6398+ ("alignment" .=) <$> _psAlignment,
6399+ ("spaceBelow" .=) <$> _psSpaceBelow,
6400+ ("spacingMode" .=) <$> _psSpacingMode,
6401+ ("spaceAbove" .=) <$> _psSpaceAbove])
6403+-- | The result of creating a table.
6405+-- /See:/ 'createTableResponse' smart constructor.
6406+newtype CreateTableResponse = CreateTableResponse'
6407+ { _ctrtObjectId :: Maybe Text
6408+ } deriving (Eq,Show,Data,Typeable,Generic)
6410+-- | Creates a value of 'CreateTableResponse' with the minimum fields required to make a request.
6412+-- Use one of the following lenses to modify other fields as desired:
6416+ :: CreateTableResponse
6417+createTableResponse =
6418+ CreateTableResponse'
6419+ { _ctrtObjectId = Nothing
6422+-- | The object ID of the created table.
6423+ctrtObjectId :: Lens' CreateTableResponse (Maybe Text)
6425+ = lens _ctrtObjectId (\ s a -> s{_ctrtObjectId = a})
6427+instance FromJSON CreateTableResponse where
6429+ = withObject "CreateTableResponse"
6430+ (\ o -> CreateTableResponse' <$> (o .:? "objectId"))
6432+instance ToJSON CreateTableResponse where
6433+ toJSON CreateTableResponse'{..}
6435+ (catMaybes [("objectId" .=) <$> _ctrtObjectId])
6437+-- | Properties of each column in a table.
6439+-- /See:/ 'tableColumnProperties' smart constructor.
6440+newtype TableColumnProperties = TableColumnProperties'
6441+ { _tcpColumnWidth :: Maybe Dimension
6442+ } deriving (Eq,Show,Data,Typeable,Generic)
6444+-- | Creates a value of 'TableColumnProperties' with the minimum fields required to make a request.
6446+-- Use one of the following lenses to modify other fields as desired:
6448+-- * 'tcpColumnWidth'
6449+tableColumnProperties
6450+ :: TableColumnProperties
6451+tableColumnProperties =
6452+ TableColumnProperties'
6453+ { _tcpColumnWidth = Nothing
6456+-- | Width of a column.
6457+tcpColumnWidth :: Lens' TableColumnProperties (Maybe Dimension)
6459+ = lens _tcpColumnWidth
6460+ (\ s a -> s{_tcpColumnWidth = a})
6462+instance FromJSON TableColumnProperties where
6464+ = withObject "TableColumnProperties"
6466+ TableColumnProperties' <$> (o .:? "columnWidth"))
6468+instance ToJSON TableColumnProperties where
6469+ toJSON TableColumnProperties'{..}
6471+ (catMaybes [("columnWidth" .=) <$> _tcpColumnWidth])
6473+-- | The response of duplicating an object.
6475+-- /See:/ 'duplicateObjectResponse' smart constructor.
6476+newtype DuplicateObjectResponse = DuplicateObjectResponse'
6477+ { _dupObjectId :: Maybe Text
6478+ } deriving (Eq,Show,Data,Typeable,Generic)
6480+-- | Creates a value of 'DuplicateObjectResponse' with the minimum fields required to make a request.
6482+-- Use one of the following lenses to modify other fields as desired:
6485+duplicateObjectResponse
6486+ :: DuplicateObjectResponse
6487+duplicateObjectResponse =
6488+ DuplicateObjectResponse'
6489+ { _dupObjectId = Nothing
6492+-- | The ID of the new duplicate object.
6493+dupObjectId :: Lens' DuplicateObjectResponse (Maybe Text)
6495+ = lens _dupObjectId (\ s a -> s{_dupObjectId = a})
6497+instance FromJSON DuplicateObjectResponse where
6499+ = withObject "DuplicateObjectResponse"
6501+ DuplicateObjectResponse' <$> (o .:? "objectId"))
6503+instance ToJSON DuplicateObjectResponse where
6504+ toJSON DuplicateObjectResponse'{..}
6506+ (catMaybes [("objectId" .=) <$> _dupObjectId])
6508+-- | Replaces all instances of text matching a criteria with replace text.
6510+-- /See:/ 'replaceAllTextRequest' smart constructor.
6511+data ReplaceAllTextRequest = ReplaceAllTextRequest'
6512+ { _ratrContainsText :: !(Maybe SubstringMatchCriteria)
6513+ , _ratrReplaceText :: !(Maybe Text)
6514+ } deriving (Eq,Show,Data,Typeable,Generic)
6516+-- | Creates a value of 'ReplaceAllTextRequest' with the minimum fields required to make a request.
6518+-- Use one of the following lenses to modify other fields as desired:
6520+-- * 'ratrContainsText'
6522+-- * 'ratrReplaceText'
6523+replaceAllTextRequest
6524+ :: ReplaceAllTextRequest
6525+replaceAllTextRequest =
6526+ ReplaceAllTextRequest'
6527+ { _ratrContainsText = Nothing
6528+ , _ratrReplaceText = Nothing
6531+-- | Finds text in a shape matching this substring.
6532+ratrContainsText :: Lens' ReplaceAllTextRequest (Maybe SubstringMatchCriteria)
6534+ = lens _ratrContainsText
6535+ (\ s a -> s{_ratrContainsText = a})
6537+-- | The text that will replace the matched text.
6538+ratrReplaceText :: Lens' ReplaceAllTextRequest (Maybe Text)
6540+ = lens _ratrReplaceText
6541+ (\ s a -> s{_ratrReplaceText = a})
6543+instance FromJSON ReplaceAllTextRequest where
6545+ = withObject "ReplaceAllTextRequest"
6547+ ReplaceAllTextRequest' <$>
6548+ (o .:? "containsText") <*> (o .:? "replaceText"))
6550+instance ToJSON ReplaceAllTextRequest where
6551+ toJSON ReplaceAllTextRequest'{..}
6554+ [("containsText" .=) <$> _ratrContainsText,
6555+ ("replaceText" .=) <$> _ratrReplaceText])
6557+-- | A table range represents a reference to a subset of a table. It\'s
6558+-- important to note that the cells specified by a table range do not
6559+-- necessarily form a rectangle. For example, let\'s say we have a 3 x 3
6560+-- table where all the cells of the last row are merged together. The table
6561+-- looks like this: [ ] A table range with location = (0, 0), row span = 3
6562+-- and column span = 2 specifies the following cells: x x [ x ]
6564+-- /See:/ 'tableRange' smart constructor.
6565+data TableRange = TableRange'
6566+ { _trColumnSpan :: !(Maybe (Textual Int32))
6567+ , _trLocation :: !(Maybe TableCellLocation)
6568+ , _trRowSpan :: !(Maybe (Textual Int32))
6569+ } deriving (Eq,Show,Data,Typeable,Generic)
6571+-- | Creates a value of 'TableRange' with the minimum fields required to make a request.
6573+-- Use one of the following lenses to modify other fields as desired:
6584+ { _trColumnSpan = Nothing
6585+ , _trLocation = Nothing
6586+ , _trRowSpan = Nothing
6589+-- | The column span of the table range.
6590+trColumnSpan :: Lens' TableRange (Maybe Int32)
6592+ = lens _trColumnSpan (\ s a -> s{_trColumnSpan = a})
6595+-- | The starting location of the table range.
6596+trLocation :: Lens' TableRange (Maybe TableCellLocation)
6598+ = lens _trLocation (\ s a -> s{_trLocation = a})
6600+-- | The row span of the table range.
6601+trRowSpan :: Lens' TableRange (Maybe Int32)
6603+ = lens _trRowSpan (\ s a -> s{_trRowSpan = a}) .
6606+instance FromJSON TableRange where
6608+ = withObject "TableRange"
6611+ (o .:? "columnSpan") <*> (o .:? "location") <*>
6614+instance ToJSON TableRange where
6615+ toJSON TableRange'{..}
6618+ [("columnSpan" .=) <$> _trColumnSpan,
6619+ ("location" .=) <$> _trLocation,
6620+ ("rowSpan" .=) <$> _trRowSpan])
6622+-- | A single kind of update to apply to a presentation.
6624+-- /See:/ 'request'' smart constructor.
6625+data Request' = Request''
6626+ { _reqReplaceAllShapesWithImage :: !(Maybe ReplaceAllShapesWithImageRequest)
6627+ , _reqDeleteObject :: !(Maybe DeleteObjectRequest)
6628+ , _reqUpdateSlidesPosition :: !(Maybe UpdateSlidesPositionRequest)
6629+ , _reqUpdateShapeProperties :: !(Maybe UpdateShapePropertiesRequest)
6630+ , _reqCreateParagraphBullets :: !(Maybe CreateParagraphBulletsRequest)
6631+ , _reqCreateLine :: !(Maybe CreateLineRequest)
6632+ , _reqInsertText :: !(Maybe InsertTextRequest)
6633+ , _reqDeleteTableRow :: !(Maybe DeleteTableRowRequest)
6634+ , _reqUpdateTableCellProperties :: !(Maybe UpdateTableCellPropertiesRequest)
6635+ , _reqReplaceAllText :: !(Maybe ReplaceAllTextRequest)
6636+ , _reqCreateShape :: !(Maybe CreateShapeRequest)
6637+ , _reqUpdatePageProperties :: !(Maybe UpdatePagePropertiesRequest)
6638+ , _reqUpdateLineProperties :: !(Maybe UpdateLinePropertiesRequest)
6639+ , _reqDeleteTableColumn :: !(Maybe DeleteTableColumnRequest)
6640+ , _reqDeleteText :: !(Maybe DeleteTextRequest)
6641+ , _reqCreateSheetsChart :: !(Maybe CreateSheetsChartRequest)
6642+ , _reqInsertTableColumns :: !(Maybe InsertTableColumnsRequest)
6643+ , _reqUpdateImageProperties :: !(Maybe UpdateImagePropertiesRequest)
6644+ , _reqDuplicateObject :: !(Maybe DuplicateObjectRequest)
6645+ , _reqCreateTable :: !(Maybe CreateTableRequest)
6646+ , _reqCreateVideo :: !(Maybe CreateVideoRequest)
6647+ , _reqRefreshSheetsChart :: !(Maybe RefreshSheetsChartRequest)
6648+ , _reqUpdatePageElementTransform :: !(Maybe UpdatePageElementTransformRequest)
6649+ , _reqInsertTableRows :: !(Maybe InsertTableRowsRequest)
6650+ , _reqCreateImage :: !(Maybe CreateImageRequest)
6651+ , _reqCreateSlide :: !(Maybe CreateSlideRequest)
6652+ , _reqUpdateTextStyle :: !(Maybe UpdateTextStyleRequest)
6653+ , _reqUpdateVideoProperties :: !(Maybe UpdateVideoPropertiesRequest)
6654+ } deriving (Eq,Show,Data,Typeable,Generic)
6656+-- | Creates a value of 'Request' with the minimum fields required to make a request.
6658+-- Use one of the following lenses to modify other fields as desired:
6660+-- * 'reqReplaceAllShapesWithImage'
6662+-- * 'reqDeleteObject'
6664+-- * 'reqUpdateSlidesPosition'
6666+-- * 'reqUpdateShapeProperties'
6668+-- * 'reqCreateParagraphBullets'
6670+-- * 'reqCreateLine'
6672+-- * 'reqInsertText'
6674+-- * 'reqDeleteTableRow'
6676+-- * 'reqUpdateTableCellProperties'
6678+-- * 'reqReplaceAllText'
6680+-- * 'reqCreateShape'
6682+-- * 'reqUpdatePageProperties'
6684+-- * 'reqUpdateLineProperties'
6686+-- * 'reqDeleteTableColumn'
6688+-- * 'reqDeleteText'
6690+-- * 'reqCreateSheetsChart'
6692+-- * 'reqInsertTableColumns'
6694+-- * 'reqUpdateImageProperties'
6696+-- * 'reqDuplicateObject'
6698+-- * 'reqCreateTable'
6700+-- * 'reqCreateVideo'
6702+-- * 'reqRefreshSheetsChart'
6704+-- * 'reqUpdatePageElementTransform'
6706+-- * 'reqInsertTableRows'
6708+-- * 'reqCreateImage'
6710+-- * 'reqCreateSlide'
6712+-- * 'reqUpdateTextStyle'
6714+-- * 'reqUpdateVideoProperties'
6719+ { _reqReplaceAllShapesWithImage = Nothing
6720+ , _reqDeleteObject = Nothing
6721+ , _reqUpdateSlidesPosition = Nothing
6722+ , _reqUpdateShapeProperties = Nothing
6723+ , _reqCreateParagraphBullets = Nothing
6724+ , _reqCreateLine = Nothing
6725+ , _reqInsertText = Nothing
6726+ , _reqDeleteTableRow = Nothing
6727+ , _reqUpdateTableCellProperties = Nothing
6728+ , _reqReplaceAllText = Nothing
6729+ , _reqCreateShape = Nothing
6730+ , _reqUpdatePageProperties = Nothing
6731+ , _reqUpdateLineProperties = Nothing
6732+ , _reqDeleteTableColumn = Nothing
6733+ , _reqDeleteText = Nothing
6734+ , _reqCreateSheetsChart = Nothing
6735+ , _reqInsertTableColumns = Nothing
6736+ , _reqUpdateImageProperties = Nothing
6737+ , _reqDuplicateObject = Nothing
6738+ , _reqCreateTable = Nothing
6739+ , _reqCreateVideo = Nothing
6740+ , _reqRefreshSheetsChart = Nothing
6741+ , _reqUpdatePageElementTransform = Nothing
6742+ , _reqInsertTableRows = Nothing
6743+ , _reqCreateImage = Nothing
6744+ , _reqCreateSlide = Nothing
6745+ , _reqUpdateTextStyle = Nothing
6746+ , _reqUpdateVideoProperties = Nothing
6749+-- | Replaces all shapes matching some criteria with an image.
6750+reqReplaceAllShapesWithImage :: Lens' Request' (Maybe ReplaceAllShapesWithImageRequest)
6751+reqReplaceAllShapesWithImage
6752+ = lens _reqReplaceAllShapesWithImage
6753+ (\ s a -> s{_reqReplaceAllShapesWithImage = a})
6755+-- | Deletes a page or page element from the presentation.
6756+reqDeleteObject :: Lens' Request' (Maybe DeleteObjectRequest)
6758+ = lens _reqDeleteObject
6759+ (\ s a -> s{_reqDeleteObject = a})
6761+-- | Updates the position of a set of slides in the presentation.
6762+reqUpdateSlidesPosition :: Lens' Request' (Maybe UpdateSlidesPositionRequest)
6763+reqUpdateSlidesPosition
6764+ = lens _reqUpdateSlidesPosition
6765+ (\ s a -> s{_reqUpdateSlidesPosition = a})
6767+-- | Updates the properties of a Shape.
6768+reqUpdateShapeProperties :: Lens' Request' (Maybe UpdateShapePropertiesRequest)
6769+reqUpdateShapeProperties
6770+ = lens _reqUpdateShapeProperties
6771+ (\ s a -> s{_reqUpdateShapeProperties = a})
6773+-- | Creates bullets for paragraphs.
6774+reqCreateParagraphBullets :: Lens' Request' (Maybe CreateParagraphBulletsRequest)
6775+reqCreateParagraphBullets
6776+ = lens _reqCreateParagraphBullets
6777+ (\ s a -> s{_reqCreateParagraphBullets = a})
6779+-- | Creates a line.
6780+reqCreateLine :: Lens' Request' (Maybe CreateLineRequest)
6782+ = lens _reqCreateLine
6783+ (\ s a -> s{_reqCreateLine = a})
6785+-- | Inserts text into a shape or table cell.
6786+reqInsertText :: Lens' Request' (Maybe InsertTextRequest)
6788+ = lens _reqInsertText
6789+ (\ s a -> s{_reqInsertText = a})
6791+-- | Deletes a row from a table.
6792+reqDeleteTableRow :: Lens' Request' (Maybe DeleteTableRowRequest)
6794+ = lens _reqDeleteTableRow
6795+ (\ s a -> s{_reqDeleteTableRow = a})
6797+-- | Updates the properties of a TableCell.
6798+reqUpdateTableCellProperties :: Lens' Request' (Maybe UpdateTableCellPropertiesRequest)
6799+reqUpdateTableCellProperties
6800+ = lens _reqUpdateTableCellProperties
6801+ (\ s a -> s{_reqUpdateTableCellProperties = a})
6803+-- | Replaces all instances of specified text.
6804+reqReplaceAllText :: Lens' Request' (Maybe ReplaceAllTextRequest)
6806+ = lens _reqReplaceAllText
6807+ (\ s a -> s{_reqReplaceAllText = a})
6809+-- | Creates a new shape.
6810+reqCreateShape :: Lens' Request' (Maybe CreateShapeRequest)
6812+ = lens _reqCreateShape
6813+ (\ s a -> s{_reqCreateShape = a})
6815+-- | Updates the properties of a Page.
6816+reqUpdatePageProperties :: Lens' Request' (Maybe UpdatePagePropertiesRequest)
6817+reqUpdatePageProperties
6818+ = lens _reqUpdatePageProperties
6819+ (\ s a -> s{_reqUpdatePageProperties = a})
6821+-- | Updates the properties of a Line.
6822+reqUpdateLineProperties :: Lens' Request' (Maybe UpdateLinePropertiesRequest)
6823+reqUpdateLineProperties
6824+ = lens _reqUpdateLineProperties
6825+ (\ s a -> s{_reqUpdateLineProperties = a})
6827+-- | Deletes a column from a table.
6828+reqDeleteTableColumn :: Lens' Request' (Maybe DeleteTableColumnRequest)
6829+reqDeleteTableColumn
6830+ = lens _reqDeleteTableColumn
6831+ (\ s a -> s{_reqDeleteTableColumn = a})
6833+-- | Deletes text from a shape or a table cell.
6834+reqDeleteText :: Lens' Request' (Maybe DeleteTextRequest)
6836+ = lens _reqDeleteText
6837+ (\ s a -> s{_reqDeleteText = a})
6839+-- | Creates an embedded Google Sheets chart.
6840+reqCreateSheetsChart :: Lens' Request' (Maybe CreateSheetsChartRequest)
6841+reqCreateSheetsChart
6842+ = lens _reqCreateSheetsChart
6843+ (\ s a -> s{_reqCreateSheetsChart = a})
6845+-- | Inserts columns into a table.
6846+reqInsertTableColumns :: Lens' Request' (Maybe InsertTableColumnsRequest)
6847+reqInsertTableColumns
6848+ = lens _reqInsertTableColumns
6849+ (\ s a -> s{_reqInsertTableColumns = a})
6851+-- | Updates the properties of an Image.
6852+reqUpdateImageProperties :: Lens' Request' (Maybe UpdateImagePropertiesRequest)
6853+reqUpdateImageProperties
6854+ = lens _reqUpdateImageProperties
6855+ (\ s a -> s{_reqUpdateImageProperties = a})
6857+-- | Duplicates a slide or page element.
6858+reqDuplicateObject :: Lens' Request' (Maybe DuplicateObjectRequest)
6860+ = lens _reqDuplicateObject
6861+ (\ s a -> s{_reqDuplicateObject = a})
6863+-- | Creates a new table.
6864+reqCreateTable :: Lens' Request' (Maybe CreateTableRequest)
6866+ = lens _reqCreateTable
6867+ (\ s a -> s{_reqCreateTable = a})
6869+-- | Creates a video.
6870+reqCreateVideo :: Lens' Request' (Maybe CreateVideoRequest)
6872+ = lens _reqCreateVideo
6873+ (\ s a -> s{_reqCreateVideo = a})
6875+-- | Refreshes a Google Sheets chart.
6876+reqRefreshSheetsChart :: Lens' Request' (Maybe RefreshSheetsChartRequest)
6877+reqRefreshSheetsChart
6878+ = lens _reqRefreshSheetsChart
6879+ (\ s a -> s{_reqRefreshSheetsChart = a})
6881+-- | Updates the transform of a page element.
6882+reqUpdatePageElementTransform :: Lens' Request' (Maybe UpdatePageElementTransformRequest)
6883+reqUpdatePageElementTransform
6884+ = lens _reqUpdatePageElementTransform
6885+ (\ s a -> s{_reqUpdatePageElementTransform = a})
6887+-- | Inserts rows into a table.
6888+reqInsertTableRows :: Lens' Request' (Maybe InsertTableRowsRequest)
6890+ = lens _reqInsertTableRows
6891+ (\ s a -> s{_reqInsertTableRows = a})
6893+-- | Creates an image.
6894+reqCreateImage :: Lens' Request' (Maybe CreateImageRequest)
6896+ = lens _reqCreateImage
6897+ (\ s a -> s{_reqCreateImage = a})
6899+-- | Creates a new slide.
6900+reqCreateSlide :: Lens' Request' (Maybe CreateSlideRequest)
6902+ = lens _reqCreateSlide
6903+ (\ s a -> s{_reqCreateSlide = a})
6905+-- | Updates the styling of text within a Shape or Table.
6906+reqUpdateTextStyle :: Lens' Request' (Maybe UpdateTextStyleRequest)
6908+ = lens _reqUpdateTextStyle
6909+ (\ s a -> s{_reqUpdateTextStyle = a})
6911+-- | Updates the properties of a Video.
6912+reqUpdateVideoProperties :: Lens' Request' (Maybe UpdateVideoPropertiesRequest)
6913+reqUpdateVideoProperties
6914+ = lens _reqUpdateVideoProperties
6915+ (\ s a -> s{_reqUpdateVideoProperties = a})
6917+instance FromJSON Request' where
6919+ = withObject "Request"
6922+ (o .:? "replaceAllShapesWithImage") <*>
6923+ (o .:? "deleteObject")
6924+ <*> (o .:? "updateSlidesPosition")
6925+ <*> (o .:? "updateShapeProperties")
6926+ <*> (o .:? "createParagraphBullets")
6927+ <*> (o .:? "createLine")
6928+ <*> (o .:? "insertText")
6929+ <*> (o .:? "deleteTableRow")
6930+ <*> (o .:? "updateTableCellProperties")
6931+ <*> (o .:? "replaceAllText")
6932+ <*> (o .:? "createShape")
6933+ <*> (o .:? "updatePageProperties")
6934+ <*> (o .:? "updateLineProperties")
6935+ <*> (o .:? "deleteTableColumn")
6936+ <*> (o .:? "deleteText")
6937+ <*> (o .:? "createSheetsChart")
6938+ <*> (o .:? "insertTableColumns")
6939+ <*> (o .:? "updateImageProperties")
6940+ <*> (o .:? "duplicateObject")
6941+ <*> (o .:? "createTable")
6942+ <*> (o .:? "createVideo")
6943+ <*> (o .:? "refreshSheetsChart")
6944+ <*> (o .:? "updatePageElementTransform")
6945+ <*> (o .:? "insertTableRows")
6946+ <*> (o .:? "createImage")
6947+ <*> (o .:? "createSlide")
6948+ <*> (o .:? "updateTextStyle")
6949+ <*> (o .:? "updateVideoProperties"))
6951+instance ToJSON Request' where
6952+ toJSON Request''{..}
6955+ [("replaceAllShapesWithImage" .=) <$>
6956+ _reqReplaceAllShapesWithImage,
6957+ ("deleteObject" .=) <$> _reqDeleteObject,
6958+ ("updateSlidesPosition" .=) <$>
6959+ _reqUpdateSlidesPosition,
6960+ ("updateShapeProperties" .=) <$>
6961+ _reqUpdateShapeProperties,
6962+ ("createParagraphBullets" .=) <$>
6963+ _reqCreateParagraphBullets,
6964+ ("createLine" .=) <$> _reqCreateLine,
6965+ ("insertText" .=) <$> _reqInsertText,
6966+ ("deleteTableRow" .=) <$> _reqDeleteTableRow,
6967+ ("updateTableCellProperties" .=) <$>
6968+ _reqUpdateTableCellProperties,
6969+ ("replaceAllText" .=) <$> _reqReplaceAllText,
6970+ ("createShape" .=) <$> _reqCreateShape,
6971+ ("updatePageProperties" .=) <$>
6972+ _reqUpdatePageProperties,
6973+ ("updateLineProperties" .=) <$>
6974+ _reqUpdateLineProperties,
6975+ ("deleteTableColumn" .=) <$> _reqDeleteTableColumn,
6976+ ("deleteText" .=) <$> _reqDeleteText,
6977+ ("createSheetsChart" .=) <$> _reqCreateSheetsChart,
6978+ ("insertTableColumns" .=) <$> _reqInsertTableColumns,
6979+ ("updateImageProperties" .=) <$>
6980+ _reqUpdateImageProperties,
6981+ ("duplicateObject" .=) <$> _reqDuplicateObject,
6982+ ("createTable" .=) <$> _reqCreateTable,
6983+ ("createVideo" .=) <$> _reqCreateVideo,
6984+ ("refreshSheetsChart" .=) <$> _reqRefreshSheetsChart,
6985+ ("updatePageElementTransform" .=) <$>
6986+ _reqUpdatePageElementTransform,
6987+ ("insertTableRows" .=) <$> _reqInsertTableRows,
6988+ ("createImage" .=) <$> _reqCreateImage,
6989+ ("createSlide" .=) <$> _reqCreateSlide,
6990+ ("updateTextStyle" .=) <$> _reqUpdateTextStyle,
6991+ ("updateVideoProperties" .=) <$>
6992+ _reqUpdateVideoProperties])
6994+-- | A criteria that matches a specific string of text in a shape or table.
6996+-- /See:/ 'substringMatchCriteria' smart constructor.
6997+data SubstringMatchCriteria = SubstringMatchCriteria'
6998+ { _smcMatchCase :: !(Maybe Bool)
6999+ , _smcText :: !(Maybe Text)
7000+ } deriving (Eq,Show,Data,Typeable,Generic)
7002+-- | Creates a value of 'SubstringMatchCriteria' with the minimum fields required to make a request.
7004+-- Use one of the following lenses to modify other fields as desired:
7009+substringMatchCriteria
7010+ :: SubstringMatchCriteria
7011+substringMatchCriteria =
7012+ SubstringMatchCriteria'
7013+ { _smcMatchCase = Nothing
7014+ , _smcText = Nothing
7017+-- | Indicates whether the search should respect case: - \`True\`: the search
7018+-- is case sensitive. - \`False\`: the search is case insensitive.
7019+smcMatchCase :: Lens' SubstringMatchCriteria (Maybe Bool)
7021+ = lens _smcMatchCase (\ s a -> s{_smcMatchCase = a})
7023+-- | The text to search for in the shape or table.
7024+smcText :: Lens' SubstringMatchCriteria (Maybe Text)
7025+smcText = lens _smcText (\ s a -> s{_smcText = a})
7027+instance FromJSON SubstringMatchCriteria where
7029+ = withObject "SubstringMatchCriteria"
7031+ SubstringMatchCriteria' <$>
7032+ (o .:? "matchCase") <*> (o .:? "text"))
7034+instance ToJSON SubstringMatchCriteria where
7035+ toJSON SubstringMatchCriteria'{..}
7038+ [("matchCase" .=) <$> _smcMatchCase,
7039+ ("text" .=) <$> _smcText])